Chromium Code Reviews| Index: chrome/browser/extensions/activity_log/activity_log.cc |
| diff --git a/chrome/browser/extensions/activity_log/activity_log.cc b/chrome/browser/extensions/activity_log/activity_log.cc |
| index e57a192fe5e62bbabaf6557b05dd9bb6b9f53615..717af5fa9ef048a41b4f7558967cf4e2776b589a 100644 |
| --- a/chrome/browser/extensions/activity_log/activity_log.cc |
| +++ b/chrome/browser/extensions/activity_log/activity_log.cc |
| @@ -152,13 +152,22 @@ void LookupTabIds(scoped_refptr<extensions::Action> action, Profile* profile) { |
| } |
| } else if ((api_call == "tabs.move" || api_call == "tabs.remove") && |
| args->GetList(0, &id_list)) { |
| + // For APIs that take a list of tab IDs: translate all tab IDs into URLs |
| + // in-place within the argument list, so all URLs are available when full |
| + // logging is turned on. We can only extract one of the URLs into |
| + // arg_url; arbitrarily take the first one. |
|
Matt Perry
2013/08/02 19:23:04
What's the difference between arg_url and the id_l
mvrable
2013/08/02 19:57:09
arg_url is a separate database column where we can
Matt Perry
2013/08/02 20:26:05
Might be worth briefly mentioning that in the comm
mvrable
2013/08/02 20:54:49
I reworked the comments to try to make this cleare
|
| for (int i = 0; i < static_cast<int>(id_list->GetSize()); ++i) { |
| if (id_list->GetInteger(i, &tab_id)) { |
| GURL url; |
| bool is_incognito; |
| if (GetUrlForTabId(tab_id, profile, &url, &is_incognito) && |
| - !is_incognito) |
| + !is_incognito) { |
| id_list->Set(i, new base::StringValue(url.spec())); |
| + if (i == 0) { |
| + action->set_arg_url(url); |
| + action->set_arg_incognito(is_incognito); |
| + } |
| + } |
| } else { |
| LOG(ERROR) << "The tab ID array is malformed at index " << i; |
| } |