Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6440)

Unified Diff: chrome/browser/extensions/api/downloads/downloads_api.cc

Issue 280853004: Use EventRouter::Get instead of ExtensionSystem::Get(browser_context)->event_router() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: tweak header Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/api/downloads/downloads_api.cc
diff --git a/chrome/browser/extensions/api/downloads/downloads_api.cc b/chrome/browser/extensions/api/downloads/downloads_api.cc
index 46f1d4eb64957875c077d05c03ed7ae80cfa661a..f2557d4416e2f07115847af8b38871efa8cada0f 100644
--- a/chrome/browser/extensions/api/downloads/downloads_api.cc
+++ b/chrome/browser/extensions/api/downloads/downloads_api.cc
@@ -36,7 +36,6 @@
#include "chrome/browser/download/download_shelf.h"
#include "chrome/browser/download/download_stats.h"
#include "chrome/browser/download/drag_download_item.h"
-#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_warning_service.h"
#include "chrome/browser/icon_loader.h"
#include "chrome/browser/icon_manager.h"
@@ -63,8 +62,8 @@
#include "content/public/browser/web_contents.h"
#include "extensions/browser/event_router.h"
#include "extensions/browser/extension_function_dispatcher.h"
+#include "extensions/browser/extension_prefs.h"
#include "extensions/browser/extension_registry.h"
-#include "extensions/browser/extension_system.h"
#include "net/base/filename_util.h"
#include "net/base/load_flags.h"
#include "net/http/http_util.h"
@@ -116,7 +115,7 @@ namespace extensions {
namespace {
-namespace downloads = extensions::api::downloads;
+namespace downloads = api::downloads;
// Default icon size for getFileIcon() in pixels.
const int kDefaultIconSize = 32;
@@ -280,10 +279,9 @@ scoped_ptr<base::DictionaryValue> DownloadItemToJSON(
// Lookup the extension's current name() in case the user changed their
// language. This won't work if the extension was uninstalled, so the name
// might be the wrong language.
- bool include_disabled = true;
- const extensions::Extension* extension = extensions::ExtensionSystem::Get(
- profile)->extension_service()->GetExtensionById(
- by_ext->id(), include_disabled);
+ const Extension* extension =
+ ExtensionRegistry::Get(profile)
+ ->GetExtensionById(by_ext->id(), ExtensionRegistry::EVERYTHING);
if (extension)
json->SetString(kByExtensionNameKey, extension->name());
}
@@ -737,7 +735,7 @@ class ExtensionDownloadsEventRouterData : public base::SupportsUserData::Data {
// later take precedence over previous extensions.
if (!filename.empty() ||
(conflict_action != downloads::FILENAME_CONFLICT_ACTION_UNIQUIFY)) {
- extensions::ExtensionWarningSet warnings;
+ ExtensionWarningSet warnings;
std::string winner_extension_id;
ExtensionDownloadsEventRouter::DetermineFilenameInternal(
filename,
@@ -751,8 +749,7 @@ class ExtensionDownloadsEventRouterData : public base::SupportsUserData::Data {
&determined_conflict_action_,
&warnings);
if (!warnings.empty())
- extensions::ExtensionWarningService::NotifyWarningsOnUI(
- profile, warnings);
+ ExtensionWarningService::NotifyWarningsOnUI(profile, warnings);
if (winner_extension_id == determiners_[index].extension_id)
determiner_ = determiners_[index];
}
@@ -926,11 +923,11 @@ void OnDeterminingFilenameWillDispatchCallback(
bool* any_determiners,
ExtensionDownloadsEventRouterData* data,
content::BrowserContext* context,
- const extensions::Extension* extension,
+ const Extension* extension,
base::ListValue* event_args) {
*any_determiners = true;
base::Time installed =
- extensions::ExtensionPrefs::Get(context)->GetInstallTime(extension->id());
+ ExtensionPrefs::Get(context)->GetInstallTime(extension->id());
data->AddPendingDeterminer(extension->id(), installed);
}
@@ -1387,10 +1384,11 @@ bool DownloadsOpenFunction::RunSync() {
if (InvalidId(download_item, &error_) ||
Fault(!user_gesture(), errors::kUserGesture, &error_) ||
Fault(download_item->GetState() != DownloadItem::COMPLETE,
- errors::kNotComplete, &error_) ||
- Fault(!GetExtension()->HasAPIPermission(
- extensions::APIPermission::kDownloadsOpen),
- errors::kOpenPermission, &error_))
+ errors::kNotComplete,
+ &error_) ||
+ Fault(!GetExtension()->HasAPIPermission(APIPermission::kDownloadsOpen),
+ errors::kOpenPermission,
+ &error_))
return false;
download_item->OpenDownload();
RecordApiFunctions(DOWNLOADS_FUNCTION_OPEN);
@@ -1433,8 +1431,7 @@ bool DownloadsSetShelfEnabledFunction::RunSync() {
scoped_ptr<downloads::SetShelfEnabled::Params> params(
downloads::SetShelfEnabled::Params::Create(*args_));
EXTENSION_FUNCTION_VALIDATE(params.get());
- if (!GetExtension()->HasAPIPermission(
- extensions::APIPermission::kDownloadsShelf)) {
+ if (!GetExtension()->HasAPIPermission(APIPermission::kDownloadsShelf)) {
error_ = download_extension_errors::kShelfPermission;
return false;
}
@@ -1549,9 +1546,8 @@ ExtensionDownloadsEventRouter::ExtensionDownloadsEventRouter(
extension_registry_observer_(this) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
DCHECK(profile_);
- extension_registry_observer_.Add(
- extensions::ExtensionRegistry::Get(profile_));
- extensions::EventRouter* router = extensions::EventRouter::Get(profile_);
+ extension_registry_observer_.Add(ExtensionRegistry::Get(profile_));
+ EventRouter* router = EventRouter::Get(profile_);
if (router)
router->RegisterObserver(this,
downloads::OnDeterminingFilename::kEventName);
@@ -1559,7 +1555,7 @@ ExtensionDownloadsEventRouter::ExtensionDownloadsEventRouter(
ExtensionDownloadsEventRouter::~ExtensionDownloadsEventRouter() {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
- extensions::EventRouter* router = extensions::EventRouter::Get(profile_);
+ EventRouter* router = EventRouter::Get(profile_);
if (router)
router->UnregisterObserver(this);
}
@@ -1570,10 +1566,10 @@ void ExtensionDownloadsEventRouter::
SetDetermineFilenameTimeoutSecondsForTesting(s);
}
-void ExtensionDownloadsEventRouter::SetShelfEnabled(
- const extensions::Extension* extension, bool enabled) {
- std::set<const extensions::Extension*>::iterator iter =
- shelf_disabling_extensions_.find(extension);
+void ExtensionDownloadsEventRouter::SetShelfEnabled(const Extension* extension,
+ bool enabled) {
+ std::set<const Extension*>::iterator iter =
+ shelf_disabling_extensions_.find(extension);
if (iter == shelf_disabling_extensions_.end()) {
if (!enabled)
shelf_disabling_extensions_.insert(extension);
@@ -1657,9 +1653,8 @@ void ExtensionDownloadsEventRouter::DetermineFilenameInternal(
const base::Time& incumbent_install_time,
std::string* winner_extension_id,
base::FilePath* determined_filename,
- downloads::FilenameConflictAction*
- determined_conflict_action,
- extensions::ExtensionWarningSet* warnings) {
+ downloads::FilenameConflictAction* determined_conflict_action,
+ ExtensionWarningSet* warnings) {
DCHECK(!filename.empty() ||
(conflict_action != downloads::FILENAME_CONFLICT_ACTION_UNIQUIFY));
DCHECK(!suggesting_extension_id.empty());
@@ -1673,22 +1668,20 @@ void ExtensionDownloadsEventRouter::DetermineFilenameInternal(
if (suggesting_install_time < incumbent_install_time) {
*winner_extension_id = incumbent_extension_id;
- warnings->insert(
- extensions::ExtensionWarning::CreateDownloadFilenameConflictWarning(
- suggesting_extension_id,
- incumbent_extension_id,
- filename,
- *determined_filename));
+ warnings->insert(ExtensionWarning::CreateDownloadFilenameConflictWarning(
+ suggesting_extension_id,
+ incumbent_extension_id,
+ filename,
+ *determined_filename));
return;
}
*winner_extension_id = suggesting_extension_id;
- warnings->insert(
- extensions::ExtensionWarning::CreateDownloadFilenameConflictWarning(
- incumbent_extension_id,
- suggesting_extension_id,
- *determined_filename,
- filename));
+ warnings->insert(ExtensionWarning::CreateDownloadFilenameConflictWarning(
+ incumbent_extension_id,
+ suggesting_extension_id,
+ *determined_filename,
+ filename));
*determined_filename = filename;
*determined_conflict_action = conflict_action;
}
@@ -1737,15 +1730,14 @@ bool ExtensionDownloadsEventRouter::DetermineFilename(
}
void ExtensionDownloadsEventRouter::OnListenerRemoved(
- const extensions::EventListenerInfo& details) {
+ const EventListenerInfo& details) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
DownloadManager* manager = notifier_.GetManager();
if (!manager)
return;
bool determiner_removed = (
details.event_name == downloads::OnDeterminingFilename::kEventName);
- extensions::EventRouter* router = extensions::ExtensionSystem::Get(profile_)->
- event_router();
+ EventRouter* router = EventRouter::Get(profile_);
bool any_listeners =
router->HasEventListener(downloads::OnChanged::kEventName) ||
router->HasEventListener(downloads::OnDeterminingFilename::kEventName);
@@ -1784,8 +1776,7 @@ void ExtensionDownloadsEventRouter::OnDownloadCreated(
if (download_item->IsTemporary())
return;
- extensions::EventRouter* router = extensions::ExtensionSystem::Get(profile_)->
- event_router();
+ EventRouter* router = EventRouter::Get(profile_);
// Avoid allocating a bunch of memory in DownloadItemToJSON if it isn't going
// to be used.
if (!router ||
@@ -1799,7 +1790,7 @@ void ExtensionDownloadsEventRouter::OnDownloadCreated(
DownloadItemToJSON(download_item, profile_));
DispatchEvent(downloads::OnCreated::kEventName,
true,
- extensions::Event::WillDispatchCallback(),
+ Event::WillDispatchCallback(),
json_item->DeepCopy());
if (!ExtensionDownloadsEventRouterData::Get(download_item) &&
(router->HasEventListener(downloads::OnChanged::kEventName) ||
@@ -1812,8 +1803,7 @@ void ExtensionDownloadsEventRouter::OnDownloadCreated(
void ExtensionDownloadsEventRouter::OnDownloadUpdated(
DownloadManager* manager, DownloadItem* download_item) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
- extensions::EventRouter* router = extensions::ExtensionSystem::Get(profile_)->
- event_router();
+ EventRouter* router = EventRouter::Get(profile_);
ExtensionDownloadsEventRouterData* data =
ExtensionDownloadsEventRouterData::Get(download_item);
if (download_item->IsTemporary() ||
@@ -1872,7 +1862,7 @@ void ExtensionDownloadsEventRouter::OnDownloadUpdated(
if (changed) {
DispatchEvent(downloads::OnChanged::kEventName,
true,
- extensions::Event::WillDispatchCallback(),
+ Event::WillDispatchCallback(),
delta.release());
data->OnChangedFired();
}
@@ -1884,27 +1874,26 @@ void ExtensionDownloadsEventRouter::OnDownloadRemoved(
DCHECK_CURRENTLY_ON(BrowserThread::UI);
if (download_item->IsTemporary())
return;
- DispatchEvent(downloads::OnErased::kEventName,
- true,
- extensions::Event::WillDispatchCallback(),
- new base::FundamentalValue(
- static_cast<int>(download_item->GetId())));
+ DispatchEvent(
+ downloads::OnErased::kEventName,
+ true,
+ Event::WillDispatchCallback(),
+ new base::FundamentalValue(static_cast<int>(download_item->GetId())));
}
void ExtensionDownloadsEventRouter::DispatchEvent(
const std::string& event_name,
bool include_incognito,
- const extensions::Event::WillDispatchCallback& will_dispatch_callback,
+ const Event::WillDispatchCallback& will_dispatch_callback,
base::Value* arg) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
- if (!extensions::EventRouter::Get(profile_))
+ if (!EventRouter::Get(profile_))
return;
scoped_ptr<base::ListValue> args(new base::ListValue());
args->Append(arg);
std::string json_args;
base::JSONWriter::Write(args.get(), &json_args);
- scoped_ptr<extensions::Event> event(new extensions::Event(
- event_name, args.Pass()));
+ scoped_ptr<Event> event(new Event(event_name, args.Pass()));
// The downloads system wants to share on-record events with off-record
// extension renderers even in incognito_split_mode because that's how
// chrome://downloads works. The "restrict_to_profile" mechanism does not
@@ -1913,7 +1902,7 @@ void ExtensionDownloadsEventRouter::DispatchEvent(
event->restrict_to_browser_context =
(include_incognito && !profile_->IsOffTheRecord()) ? NULL : profile_;
event->will_dispatch_callback = will_dispatch_callback;
- extensions::EventRouter::Get(profile_)->BroadcastEvent(event.Pass());
+ EventRouter::Get(profile_)->BroadcastEvent(event.Pass());
DownloadsNotificationSource notification_source;
notification_source.event_name = event_name;
notification_source.profile = profile_;
@@ -1927,10 +1916,10 @@ void ExtensionDownloadsEventRouter::DispatchEvent(
void ExtensionDownloadsEventRouter::OnExtensionUnloaded(
content::BrowserContext* browser_context,
- const extensions::Extension* extension,
- extensions::UnloadedExtensionInfo::Reason reason) {
+ const Extension* extension,
+ UnloadedExtensionInfo::Reason reason) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
- std::set<const extensions::Extension*>::iterator iter =
+ std::set<const Extension*>::iterator iter =
shelf_disabling_extensions_.find(extension);
if (iter != shelf_disabling_extensions_.end())
shelf_disabling_extensions_.erase(iter);

Powered by Google App Engine
This is Rietveld 408576698