| 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 profile_ = Profile::FromWebUI(web_ui); | 44 |
| 45 ChromeURLDataManager::AddDataSourceImpl(profile_, source); | 45 Profile* profile = Profile::FromWebUI(web_ui); |
| 46 ChromeURLDataManager::AddDataSource( | 46 ChromeURLDataManager::AddDataSourceImpl(profile, source); |
| 47 profile_, new SharedResourcesDataSource()); | 47 ChromeURLDataManager::AddDataSource(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(profile_)->RemoveObserver( | 57 extensions::ActivityLog::GetInstance()->RemoveObserver(extension_, this); |
| 58 extension_, this); | |
| 59 } | 58 } |
| 60 | 59 |
| 61 void ExtensionActivityUI::HandleRequestExtensionData( | 60 void ExtensionActivityUI::HandleRequestExtensionData( |
| 62 const base::ListValue* args) { | 61 const base::ListValue* args) { |
| 63 DCHECK_EQ(1U, args->GetSize()); | 62 DCHECK_EQ(1U, args->GetSize()); |
| 64 | 63 |
| 65 std::string extension_id; | 64 std::string extension_id; |
| 66 if (!args->GetString(0, &extension_id)) | 65 if (!args->GetString(0, &extension_id)) |
| 67 return; | 66 return; |
| 68 | 67 |
| 69 ExtensionService* extension_service = profile_->GetExtensionService(); | 68 ExtensionService* extension_service = Profile::FromWebUI(web_ui())-> |
| 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(profile_)->AddObserver(extension_, this); | 93 extensions::ActivityLog::GetInstance()->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::string& message) { | 99 const std::vector<std::string>& messages) { |
| 100 scoped_ptr<ListValue> messages_list(new ListValue()); | 100 scoped_ptr<ListValue> messages_list(new ListValue()); |
| 101 messages_list->AppendString(message); | 101 messages_list->AppendStrings(messages); |
| 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 |