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 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
174 break; | 174 break; |
175 } | 175 } |
176 } else { | 176 } else { |
177 NOTREACHED(); | 177 NOTREACHED(); |
178 } | 178 } |
179 | 179 |
180 if (finished_tabs_.size() + crashed_tab_count_ >= outstanding_tab_count_) | 180 if (finished_tabs_.size() + crashed_tab_count_ >= outstanding_tab_count_) |
181 ConditionMet(); | 181 ConditionMet(); |
182 } | 182 } |
183 | 183 |
184 DictionaryValue* InitialLoadObserver::GetTimingInformation() const { | 184 base::DictionaryValue* InitialLoadObserver::GetTimingInformation() const { |
185 ListValue* items = new ListValue; | 185 base::ListValue* items = new base::ListValue; |
186 for (TabTimeMap::const_iterator it = loading_tabs_.begin(); | 186 for (TabTimeMap::const_iterator it = loading_tabs_.begin(); |
187 it != loading_tabs_.end(); | 187 it != loading_tabs_.end(); |
188 ++it) { | 188 ++it) { |
189 DictionaryValue* item = new DictionaryValue; | 189 base::DictionaryValue* item = new base::DictionaryValue; |
190 base::TimeDelta delta_start = it->second.start_time() - init_time_; | 190 base::TimeDelta delta_start = it->second.start_time() - init_time_; |
191 | 191 |
192 item->SetDouble("load_start_ms", delta_start.InMillisecondsF()); | 192 item->SetDouble("load_start_ms", delta_start.InMillisecondsF()); |
193 if (it->second.stop_time().is_null()) { | 193 if (it->second.stop_time().is_null()) { |
194 item->Set("load_stop_ms", Value::CreateNullValue()); | 194 item->Set("load_stop_ms", base::Value::CreateNullValue()); |
195 } else { | 195 } else { |
196 base::TimeDelta delta_stop = it->second.stop_time() - init_time_; | 196 base::TimeDelta delta_stop = it->second.stop_time() - init_time_; |
197 item->SetDouble("load_stop_ms", delta_stop.InMillisecondsF()); | 197 item->SetDouble("load_stop_ms", delta_stop.InMillisecondsF()); |
198 } | 198 } |
199 items->Append(item); | 199 items->Append(item); |
200 } | 200 } |
201 DictionaryValue* return_value = new DictionaryValue; | 201 base::DictionaryValue* return_value = new base::DictionaryValue; |
202 return_value->Set("tabs", items); | 202 return_value->Set("tabs", items); |
203 return return_value; | 203 return return_value; |
204 } | 204 } |
205 | 205 |
206 void InitialLoadObserver::ConditionMet() { | 206 void InitialLoadObserver::ConditionMet() { |
207 registrar_.RemoveAll(); | 207 registrar_.RemoveAll(); |
208 if (automation_.get()) | 208 if (automation_.get()) |
209 automation_->OnInitialTabLoadsComplete(); | 209 automation_->OnInitialTabLoadsComplete(); |
210 } | 210 } |
211 | 211 |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
322 } else { | 322 } else { |
323 NOTREACHED(); | 323 NOTREACHED(); |
324 } | 324 } |
325 } | 325 } |
326 | 326 |
327 void NavigationNotificationObserver::ConditionMet( | 327 void NavigationNotificationObserver::ConditionMet( |
328 AutomationMsg_NavigationResponseValues navigation_result) { | 328 AutomationMsg_NavigationResponseValues navigation_result) { |
329 if (automation_.get()) { | 329 if (automation_.get()) { |
330 if (use_json_interface_) { | 330 if (use_json_interface_) { |
331 if (navigation_result == AUTOMATION_MSG_NAVIGATION_SUCCESS) { | 331 if (navigation_result == AUTOMATION_MSG_NAVIGATION_SUCCESS) { |
332 DictionaryValue dict; | 332 base::DictionaryValue dict; |
333 dict.SetInteger("result", navigation_result); | 333 dict.SetInteger("result", navigation_result); |
334 AutomationJSONReply(automation_.get(), reply_message_.release()) | 334 AutomationJSONReply(automation_.get(), reply_message_.release()) |
335 .SendSuccess(&dict); | 335 .SendSuccess(&dict); |
336 } else { | 336 } else { |
337 AutomationJSONReply(automation_.get(), reply_message_.release()) | 337 AutomationJSONReply(automation_.get(), reply_message_.release()) |
338 .SendError(base::StringPrintf( | 338 .SendError(base::StringPrintf( |
339 "Navigation failed with error code=%d.", navigation_result)); | 339 "Navigation failed with error code=%d.", navigation_result)); |
340 } | 340 } |
341 } else { | 341 } else { |
342 IPC::ParamTraits<int>::Write( | 342 IPC::ParamTraits<int>::Write( |
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
532 const content::NotificationSource& source, | 532 const content::NotificationSource& source, |
533 const content::NotificationDetails& details) { | 533 const content::NotificationDetails& details) { |
534 if (!automation_.get()) { | 534 if (!automation_.get()) { |
535 delete this; | 535 delete this; |
536 return; | 536 return; |
537 } | 537 } |
538 | 538 |
539 switch (type) { | 539 switch (type) { |
540 case chrome::NOTIFICATION_EXTENSION_UNINSTALLED: { | 540 case chrome::NOTIFICATION_EXTENSION_UNINSTALLED: { |
541 if (id_ == content::Details<extensions::Extension>(details).ptr()->id()) { | 541 if (id_ == content::Details<extensions::Extension>(details).ptr()->id()) { |
542 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); | 542 scoped_ptr<base::DictionaryValue> return_value( |
| 543 new base::DictionaryValue); |
543 return_value->SetBoolean("success", true); | 544 return_value->SetBoolean("success", true); |
544 AutomationJSONReply(automation_.get(), reply_message_.release()) | 545 AutomationJSONReply(automation_.get(), reply_message_.release()) |
545 .SendSuccess(return_value.get()); | 546 .SendSuccess(return_value.get()); |
546 delete this; | 547 delete this; |
547 return; | 548 return; |
548 } | 549 } |
549 break; | 550 break; |
550 } | 551 } |
551 | 552 |
552 case chrome::NOTIFICATION_EXTENSION_UNINSTALL_NOT_ALLOWED: { | 553 case chrome::NOTIFICATION_EXTENSION_UNINSTALL_NOT_ALLOWED: { |
553 const extensions::Extension* extension = | 554 const extensions::Extension* extension = |
554 content::Details<extensions::Extension>(details).ptr(); | 555 content::Details<extensions::Extension>(details).ptr(); |
555 if (id_ == extension->id()) { | 556 if (id_ == extension->id()) { |
556 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); | 557 scoped_ptr<base::DictionaryValue> return_value( |
| 558 new base::DictionaryValue); |
557 return_value->SetBoolean("success", false); | 559 return_value->SetBoolean("success", false); |
558 AutomationJSONReply(automation_.get(), reply_message_.release()) | 560 AutomationJSONReply(automation_.get(), reply_message_.release()) |
559 .SendSuccess(return_value.get()); | 561 .SendSuccess(return_value.get()); |
560 delete this; | 562 delete this; |
561 return; | 563 return; |
562 } | 564 } |
563 break; | 565 break; |
564 } | 566 } |
565 | 567 |
566 default: | 568 default: |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
633 case chrome::NOTIFICATION_EXTENSION_LOAD_ERROR: | 635 case chrome::NOTIFICATION_EXTENSION_LOAD_ERROR: |
634 case chrome::NOTIFICATION_EXTENSION_UPDATE_DISABLED: | 636 case chrome::NOTIFICATION_EXTENSION_UPDATE_DISABLED: |
635 break; | 637 break; |
636 default: | 638 default: |
637 NOTREACHED(); | 639 NOTREACHED(); |
638 break; | 640 break; |
639 } | 641 } |
640 | 642 |
641 AutomationJSONReply reply(automation_.get(), reply_message_.release()); | 643 AutomationJSONReply reply(automation_.get(), reply_message_.release()); |
642 if (extension_) { | 644 if (extension_) { |
643 DictionaryValue dict; | 645 base::DictionaryValue dict; |
644 dict.SetString("id", extension_->id()); | 646 dict.SetString("id", extension_->id()); |
645 reply.SendSuccess(&dict); | 647 reply.SendSuccess(&dict); |
646 } else { | 648 } else { |
647 reply.SendError("Extension could not be installed"); | 649 reply.SendError("Extension could not be installed"); |
648 } | 650 } |
649 delete this; | 651 delete this; |
650 } | 652 } |
651 | 653 |
652 ExtensionUnloadNotificationObserver::ExtensionUnloadNotificationObserver() | 654 ExtensionUnloadNotificationObserver::ExtensionUnloadNotificationObserver() |
653 : did_receive_unload_notification_(false) { | 655 : did_receive_unload_notification_(false) { |
(...skipping 390 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1044 | 1046 |
1045 if (!automation_.get()) { | 1047 if (!automation_.get()) { |
1046 delete this; | 1048 delete this; |
1047 return; | 1049 return; |
1048 } | 1050 } |
1049 | 1051 |
1050 // We get multiple responses and one of those will contain the ordinal. | 1052 // We get multiple responses and one of those will contain the ordinal. |
1051 // This message comes to us before the final update is sent. | 1053 // This message comes to us before the final update is sent. |
1052 if (find_details->request_id() == kFindInPageRequestId) { | 1054 if (find_details->request_id() == kFindInPageRequestId) { |
1053 if (reply_with_json_) { | 1055 if (reply_with_json_) { |
1054 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); | 1056 scoped_ptr<base::DictionaryValue> return_value(new base::DictionaryValue); |
1055 return_value->SetInteger("match_count", | 1057 return_value->SetInteger("match_count", |
1056 find_details->number_of_matches()); | 1058 find_details->number_of_matches()); |
1057 gfx::Rect rect = find_details->selection_rect(); | 1059 gfx::Rect rect = find_details->selection_rect(); |
1058 // If MatchCount is > 0, then rect should not be Empty. | 1060 // If MatchCount is > 0, then rect should not be Empty. |
1059 // We dont guard it here because we want to let the test | 1061 // We dont guard it here because we want to let the test |
1060 // code catch this invalid case if needed. | 1062 // code catch this invalid case if needed. |
1061 if (!rect.IsEmpty()) { | 1063 if (!rect.IsEmpty()) { |
1062 return_value->SetInteger("match_left", rect.x()); | 1064 return_value->SetInteger("match_left", rect.x()); |
1063 return_value->SetInteger("match_top", rect.y()); | 1065 return_value->SetInteger("match_top", rect.y()); |
1064 return_value->SetInteger("match_right", rect.right()); | 1066 return_value->SetInteger("match_right", rect.right()); |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1125 reply_message_(reply_message), | 1127 reply_message_(reply_message), |
1126 use_json_interface_(use_json_interface) { | 1128 use_json_interface_(use_json_interface) { |
1127 } | 1129 } |
1128 | 1130 |
1129 DomOperationMessageSender::~DomOperationMessageSender() {} | 1131 DomOperationMessageSender::~DomOperationMessageSender() {} |
1130 | 1132 |
1131 void DomOperationMessageSender::OnDomOperationCompleted( | 1133 void DomOperationMessageSender::OnDomOperationCompleted( |
1132 const std::string& json) { | 1134 const std::string& json) { |
1133 if (automation_.get()) { | 1135 if (automation_.get()) { |
1134 if (use_json_interface_) { | 1136 if (use_json_interface_) { |
1135 DictionaryValue dict; | 1137 base::DictionaryValue dict; |
1136 dict.SetString("result", json); | 1138 dict.SetString("result", json); |
1137 AutomationJSONReply(automation_.get(), reply_message_.release()) | 1139 AutomationJSONReply(automation_.get(), reply_message_.release()) |
1138 .SendSuccess(&dict); | 1140 .SendSuccess(&dict); |
1139 } else { | 1141 } else { |
1140 AutomationMsg_DomOperation::WriteReplyParams(reply_message_.get(), json); | 1142 AutomationMsg_DomOperation::WriteReplyParams(reply_message_.get(), json); |
1141 automation_->Send(reply_message_.release()); | 1143 automation_->Send(reply_message_.release()); |
1142 } | 1144 } |
1143 } | 1145 } |
1144 delete this; | 1146 delete this; |
1145 } | 1147 } |
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1286 void AutomationProviderDownloadUpdatedObserver::OnDownloadUpdated( | 1288 void AutomationProviderDownloadUpdatedObserver::OnDownloadUpdated( |
1287 DownloadItem* download) { | 1289 DownloadItem* download) { |
1288 // If this observer is watching for open, only send the reply if the download | 1290 // If this observer is watching for open, only send the reply if the download |
1289 // has been auto-opened. | 1291 // has been auto-opened. |
1290 if (wait_for_open_ && !download->GetAutoOpened()) | 1292 if (wait_for_open_ && !download->GetAutoOpened()) |
1291 return; | 1293 return; |
1292 | 1294 |
1293 download->RemoveObserver(this); | 1295 download->RemoveObserver(this); |
1294 | 1296 |
1295 if (provider_.get()) { | 1297 if (provider_.get()) { |
1296 scoped_ptr<DictionaryValue> return_value( | 1298 scoped_ptr<base::DictionaryValue> return_value( |
1297 provider_->GetDictionaryFromDownloadItem(download, incognito_)); | 1299 provider_->GetDictionaryFromDownloadItem(download, incognito_)); |
1298 AutomationJSONReply(provider_.get(), reply_message_.release()) | 1300 AutomationJSONReply(provider_.get(), reply_message_.release()) |
1299 .SendSuccess(return_value.get()); | 1301 .SendSuccess(return_value.get()); |
1300 } | 1302 } |
1301 delete this; | 1303 delete this; |
1302 } | 1304 } |
1303 | 1305 |
1304 void AutomationProviderDownloadUpdatedObserver::OnDownloadOpened( | 1306 void AutomationProviderDownloadUpdatedObserver::OnDownloadOpened( |
1305 DownloadItem* download) { | 1307 DownloadItem* download) { |
1306 download->RemoveObserver(this); | 1308 download->RemoveObserver(this); |
1307 | 1309 |
1308 if (provider_.get()) { | 1310 if (provider_.get()) { |
1309 scoped_ptr<DictionaryValue> return_value( | 1311 scoped_ptr<base::DictionaryValue> return_value( |
1310 provider_->GetDictionaryFromDownloadItem(download, incognito_)); | 1312 provider_->GetDictionaryFromDownloadItem(download, incognito_)); |
1311 AutomationJSONReply(provider_.get(), reply_message_.release()) | 1313 AutomationJSONReply(provider_.get(), reply_message_.release()) |
1312 .SendSuccess(return_value.get()); | 1314 .SendSuccess(return_value.get()); |
1313 } | 1315 } |
1314 delete this; | 1316 delete this; |
1315 } | 1317 } |
1316 | 1318 |
1317 AutomationProviderDownloadModelChangedObserver:: | 1319 AutomationProviderDownloadModelChangedObserver:: |
1318 AutomationProviderDownloadModelChangedObserver( | 1320 AutomationProviderDownloadModelChangedObserver( |
1319 AutomationProvider* provider, | 1321 AutomationProvider* provider, |
(...skipping 21 matching lines...) Expand all Loading... |
1341 | 1343 |
1342 void AutomationProviderDownloadModelChangedObserver::OnDownloadRemoved( | 1344 void AutomationProviderDownloadModelChangedObserver::OnDownloadRemoved( |
1343 DownloadManager* manager, DownloadItem* item) { | 1345 DownloadManager* manager, DownloadItem* item) { |
1344 ModelChanged(); | 1346 ModelChanged(); |
1345 } | 1347 } |
1346 | 1348 |
1347 AllDownloadsCompleteObserver::AllDownloadsCompleteObserver( | 1349 AllDownloadsCompleteObserver::AllDownloadsCompleteObserver( |
1348 AutomationProvider* provider, | 1350 AutomationProvider* provider, |
1349 IPC::Message* reply_message, | 1351 IPC::Message* reply_message, |
1350 DownloadManager* download_manager, | 1352 DownloadManager* download_manager, |
1351 ListValue* pre_download_ids) | 1353 base::ListValue* pre_download_ids) |
1352 : provider_(provider->AsWeakPtr()), | 1354 : provider_(provider->AsWeakPtr()), |
1353 reply_message_(reply_message), | 1355 reply_message_(reply_message), |
1354 download_manager_(download_manager) { | 1356 download_manager_(download_manager) { |
1355 for (ListValue::iterator it = pre_download_ids->begin(); | 1357 for (base::ListValue::iterator it = pre_download_ids->begin(); |
1356 it != pre_download_ids->end(); ++it) { | 1358 it != pre_download_ids->end(); ++it) { |
1357 int val = 0; | 1359 int val = 0; |
1358 if ((*it)->GetAsInteger(&val)) { | 1360 if ((*it)->GetAsInteger(&val)) { |
1359 pre_download_ids_.insert(val); | 1361 pre_download_ids_.insert(val); |
1360 } else { | 1362 } else { |
1361 AutomationJSONReply(provider_.get(), reply_message_.release()) | 1363 AutomationJSONReply(provider_.get(), reply_message_.release()) |
1362 .SendError("Cannot convert ID of prior download to integer."); | 1364 .SendError("Cannot convert ID of prior download to integer."); |
1363 delete this; | 1365 delete this; |
1364 return; | 1366 return; |
1365 } | 1367 } |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1456 AutomationProviderHistoryObserver::~AutomationProviderHistoryObserver() {} | 1458 AutomationProviderHistoryObserver::~AutomationProviderHistoryObserver() {} |
1457 | 1459 |
1458 void AutomationProviderHistoryObserver::HistoryQueryComplete( | 1460 void AutomationProviderHistoryObserver::HistoryQueryComplete( |
1459 HistoryService::Handle request_handle, | 1461 HistoryService::Handle request_handle, |
1460 history::QueryResults* results) { | 1462 history::QueryResults* results) { |
1461 if (!provider_.get()) { | 1463 if (!provider_.get()) { |
1462 delete this; | 1464 delete this; |
1463 return; | 1465 return; |
1464 } | 1466 } |
1465 | 1467 |
1466 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); | 1468 scoped_ptr<base::DictionaryValue> return_value(new base::DictionaryValue); |
1467 | 1469 |
1468 ListValue* history_list = new ListValue; | 1470 base::ListValue* history_list = new base::ListValue; |
1469 for (size_t i = 0; i < results->size(); ++i) { | 1471 for (size_t i = 0; i < results->size(); ++i) { |
1470 DictionaryValue* page_value = new DictionaryValue; | 1472 base::DictionaryValue* page_value = new base::DictionaryValue; |
1471 history::URLResult const &page = (*results)[i]; | 1473 history::URLResult const &page = (*results)[i]; |
1472 page_value->SetString("title", page.title()); | 1474 page_value->SetString("title", page.title()); |
1473 page_value->SetString("url", page.url().spec()); | 1475 page_value->SetString("url", page.url().spec()); |
1474 page_value->SetDouble("time", | 1476 page_value->SetDouble("time", |
1475 static_cast<double>(page.visit_time().ToDoubleT())); | 1477 static_cast<double>(page.visit_time().ToDoubleT())); |
1476 page_value->SetString("snippet", page.snippet().text()); | 1478 page_value->SetString("snippet", page.snippet().text()); |
1477 page_value->SetBoolean( | 1479 page_value->SetBoolean( |
1478 "starred", | 1480 "starred", |
1479 BookmarkModelFactory::GetForProfile( | 1481 BookmarkModelFactory::GetForProfile( |
1480 provider_->profile())->IsBookmarked(page.url())); | 1482 provider_->profile())->IsBookmarked(page.url())); |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1528 ~AutomationProviderGetPasswordsObserver() {} | 1530 ~AutomationProviderGetPasswordsObserver() {} |
1529 | 1531 |
1530 void AutomationProviderGetPasswordsObserver::OnPasswordStoreRequestDone( | 1532 void AutomationProviderGetPasswordsObserver::OnPasswordStoreRequestDone( |
1531 CancelableRequestProvider::Handle handle, | 1533 CancelableRequestProvider::Handle handle, |
1532 const std::vector<autofill::PasswordForm*>& result) { | 1534 const std::vector<autofill::PasswordForm*>& result) { |
1533 if (!provider_.get()) { | 1535 if (!provider_.get()) { |
1534 delete this; | 1536 delete this; |
1535 return; | 1537 return; |
1536 } | 1538 } |
1537 | 1539 |
1538 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); | 1540 scoped_ptr<base::DictionaryValue> return_value(new base::DictionaryValue); |
1539 | 1541 |
1540 ListValue* passwords = new ListValue; | 1542 base::ListValue* passwords = new base::ListValue; |
1541 for (std::vector<autofill::PasswordForm*>::const_iterator it = | 1543 for (std::vector<autofill::PasswordForm*>::const_iterator it = |
1542 result.begin(); it != result.end(); ++it) { | 1544 result.begin(); it != result.end(); ++it) { |
1543 DictionaryValue* password_val = new DictionaryValue; | 1545 base::DictionaryValue* password_val = new base::DictionaryValue; |
1544 autofill::PasswordForm* password_form = *it; | 1546 autofill::PasswordForm* password_form = *it; |
1545 password_val->SetString("username_value", password_form->username_value); | 1547 password_val->SetString("username_value", password_form->username_value); |
1546 password_val->SetString("password_value", password_form->password_value); | 1548 password_val->SetString("password_value", password_form->password_value); |
1547 password_val->SetString("signon_realm", password_form->signon_realm); | 1549 password_val->SetString("signon_realm", password_form->signon_realm); |
1548 password_val->SetDouble( | 1550 password_val->SetDouble( |
1549 "time", static_cast<double>(password_form->date_created.ToDoubleT())); | 1551 "time", static_cast<double>(password_form->date_created.ToDoubleT())); |
1550 password_val->SetString("origin_url", password_form->origin.spec()); | 1552 password_val->SetString("origin_url", password_form->origin.spec()); |
1551 password_val->SetString("username_element", | 1553 password_val->SetString("username_element", |
1552 password_form->username_element); | 1554 password_form->username_element); |
1553 password_val->SetString("password_element", | 1555 password_val->SetString("password_element", |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1634 base::Bind(&PasswordStoreLoginsChangedObserver::IndicateDone, this)); | 1636 base::Bind(&PasswordStoreLoginsChangedObserver::IndicateDone, this)); |
1635 } | 1637 } |
1636 | 1638 |
1637 void PasswordStoreLoginsChangedObserver::IndicateDone() { | 1639 void PasswordStoreLoginsChangedObserver::IndicateDone() { |
1638 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 1640 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
1639 if (automation_.get()) { | 1641 if (automation_.get()) { |
1640 if (result_key_.empty()) { | 1642 if (result_key_.empty()) { |
1641 AutomationJSONReply(automation_.get(), reply_message_.release()) | 1643 AutomationJSONReply(automation_.get(), reply_message_.release()) |
1642 .SendSuccess(NULL); | 1644 .SendSuccess(NULL); |
1643 } else { | 1645 } else { |
1644 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); | 1646 scoped_ptr<base::DictionaryValue> return_value(new base::DictionaryValue); |
1645 return_value->SetBoolean(result_key_, true); | 1647 return_value->SetBoolean(result_key_, true); |
1646 AutomationJSONReply(automation_.get(), reply_message_.release()) | 1648 AutomationJSONReply(automation_.get(), reply_message_.release()) |
1647 .SendSuccess(return_value.get()); | 1649 .SendSuccess(return_value.get()); |
1648 } | 1650 } |
1649 } | 1651 } |
1650 Release(); | 1652 Release(); |
1651 } | 1653 } |
1652 | 1654 |
1653 void PasswordStoreLoginsChangedObserver::IndicateError( | 1655 void PasswordStoreLoginsChangedObserver::IndicateError( |
1654 const std::string& error) { | 1656 const std::string& error) { |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1717 void SavePackageNotificationObserver::ManagerGoingDown( | 1719 void SavePackageNotificationObserver::ManagerGoingDown( |
1718 content::DownloadManager* manager) { | 1720 content::DownloadManager* manager) { |
1719 delete this; | 1721 delete this; |
1720 } | 1722 } |
1721 | 1723 |
1722 namespace { | 1724 namespace { |
1723 | 1725 |
1724 // Returns a vector of dictionaries containing information about installed apps, | 1726 // Returns a vector of dictionaries containing information about installed apps, |
1725 // as identified from a given list of extensions. The caller takes ownership | 1727 // as identified from a given list of extensions. The caller takes ownership |
1726 // of the created vector. | 1728 // of the created vector. |
1727 std::vector<DictionaryValue*>* GetAppInfoFromExtensions( | 1729 std::vector<base::DictionaryValue*>* GetAppInfoFromExtensions( |
1728 const extensions::ExtensionSet* extensions, | 1730 const extensions::ExtensionSet* extensions, |
1729 ExtensionService* ext_service) { | 1731 ExtensionService* ext_service) { |
1730 std::vector<DictionaryValue*>* apps_list = | 1732 std::vector<base::DictionaryValue*>* apps_list = |
1731 new std::vector<DictionaryValue*>(); | 1733 new std::vector<base::DictionaryValue*>(); |
1732 for (extensions::ExtensionSet::const_iterator ext = extensions->begin(); | 1734 for (extensions::ExtensionSet::const_iterator ext = extensions->begin(); |
1733 ext != extensions->end(); ++ext) { | 1735 ext != extensions->end(); ++ext) { |
1734 // Only return information about extensions that are actually apps. | 1736 // Only return information about extensions that are actually apps. |
1735 if ((*ext)->is_app()) { | 1737 if ((*ext)->is_app()) { |
1736 DictionaryValue* app_info = new DictionaryValue(); | 1738 base::DictionaryValue* app_info = new base::DictionaryValue(); |
1737 AppLauncherHandler::CreateAppInfo(ext->get(), ext_service, app_info); | 1739 AppLauncherHandler::CreateAppInfo(ext->get(), ext_service, app_info); |
1738 app_info->SetBoolean( | 1740 app_info->SetBoolean( |
1739 "is_component_extension", | 1741 "is_component_extension", |
1740 (*ext)->location() == extensions::Manifest::COMPONENT); | 1742 (*ext)->location() == extensions::Manifest::COMPONENT); |
1741 | 1743 |
1742 // Convert the launch_type integer into a more descriptive string. | 1744 // Convert the launch_type integer into a more descriptive string. |
1743 int launch_type; | 1745 int launch_type; |
1744 const char* kLaunchType = "launch_type"; | 1746 const char* kLaunchType = "launch_type"; |
1745 if (!app_info->GetInteger(kLaunchType, &launch_type)) { | 1747 if (!app_info->GetInteger(kLaunchType, &launch_type)) { |
1746 NOTREACHED() << "Can't get integer from key " << kLaunchType; | 1748 NOTREACHED() << "Can't get integer from key " << kLaunchType; |
(...skipping 17 matching lines...) Expand all Loading... |
1764 return apps_list; | 1766 return apps_list; |
1765 } | 1767 } |
1766 | 1768 |
1767 } // namespace | 1769 } // namespace |
1768 | 1770 |
1769 NTPInfoObserver::NTPInfoObserver(AutomationProvider* automation, | 1771 NTPInfoObserver::NTPInfoObserver(AutomationProvider* automation, |
1770 IPC::Message* reply_message) | 1772 IPC::Message* reply_message) |
1771 : automation_(automation->AsWeakPtr()), | 1773 : automation_(automation->AsWeakPtr()), |
1772 reply_message_(reply_message), | 1774 reply_message_(reply_message), |
1773 request_(0), | 1775 request_(0), |
1774 ntp_info_(new DictionaryValue) { | 1776 ntp_info_(new base::DictionaryValue) { |
1775 top_sites_ = automation_->profile()->GetTopSites(); | 1777 top_sites_ = automation_->profile()->GetTopSites(); |
1776 if (!top_sites_) { | 1778 if (!top_sites_) { |
1777 AutomationJSONReply(automation_.get(), reply_message_.release()) | 1779 AutomationJSONReply(automation_.get(), reply_message_.release()) |
1778 .SendError("Profile does not have service for querying the top sites."); | 1780 .SendError("Profile does not have service for querying the top sites."); |
1779 return; | 1781 return; |
1780 } | 1782 } |
1781 TabRestoreService* service = | 1783 TabRestoreService* service = |
1782 TabRestoreServiceFactory::GetForProfile(automation_->profile()); | 1784 TabRestoreServiceFactory::GetForProfile(automation_->profile()); |
1783 if (!service) { | 1785 if (!service) { |
1784 AutomationJSONReply(automation_.get(), reply_message_.release()) | 1786 AutomationJSONReply(automation_.get(), reply_message_.release()) |
1785 .SendError("No TabRestoreService."); | 1787 .SendError("No TabRestoreService."); |
1786 return; | 1788 return; |
1787 } | 1789 } |
1788 | 1790 |
1789 // Collect information about the apps in the new tab page. | 1791 // Collect information about the apps in the new tab page. |
1790 ExtensionService* ext_service = extensions::ExtensionSystem::Get( | 1792 ExtensionService* ext_service = extensions::ExtensionSystem::Get( |
1791 automation_->profile())->extension_service(); | 1793 automation_->profile())->extension_service(); |
1792 if (!ext_service) { | 1794 if (!ext_service) { |
1793 AutomationJSONReply(automation_.get(), reply_message_.release()) | 1795 AutomationJSONReply(automation_.get(), reply_message_.release()) |
1794 .SendError("No ExtensionService."); | 1796 .SendError("No ExtensionService."); |
1795 return; | 1797 return; |
1796 } | 1798 } |
1797 // Process enabled extensions. | 1799 // Process enabled extensions. |
1798 ListValue* apps_list = new ListValue(); | 1800 base::ListValue* apps_list = new base::ListValue(); |
1799 const extensions::ExtensionSet* extensions = ext_service->extensions(); | 1801 const extensions::ExtensionSet* extensions = ext_service->extensions(); |
1800 std::vector<DictionaryValue*>* enabled_apps = GetAppInfoFromExtensions( | 1802 std::vector<base::DictionaryValue*>* enabled_apps = GetAppInfoFromExtensions( |
1801 extensions, ext_service); | 1803 extensions, ext_service); |
1802 for (std::vector<DictionaryValue*>::const_iterator app = | 1804 for (std::vector<base::DictionaryValue*>::const_iterator app = |
1803 enabled_apps->begin(); app != enabled_apps->end(); ++app) { | 1805 enabled_apps->begin(); app != enabled_apps->end(); ++app) { |
1804 (*app)->SetBoolean("is_disabled", false); | 1806 (*app)->SetBoolean("is_disabled", false); |
1805 apps_list->Append(*app); | 1807 apps_list->Append(*app); |
1806 } | 1808 } |
1807 delete enabled_apps; | 1809 delete enabled_apps; |
1808 // Process disabled extensions. | 1810 // Process disabled extensions. |
1809 const extensions::ExtensionSet* disabled_extensions = | 1811 const extensions::ExtensionSet* disabled_extensions = |
1810 ext_service->disabled_extensions(); | 1812 ext_service->disabled_extensions(); |
1811 std::vector<DictionaryValue*>* disabled_apps = GetAppInfoFromExtensions( | 1813 std::vector<base::DictionaryValue*>* disabled_apps = GetAppInfoFromExtensions( |
1812 disabled_extensions, ext_service); | 1814 disabled_extensions, ext_service); |
1813 for (std::vector<DictionaryValue*>::const_iterator app = | 1815 for (std::vector<base::DictionaryValue*>::const_iterator app = |
1814 disabled_apps->begin(); app != disabled_apps->end(); ++app) { | 1816 disabled_apps->begin(); app != disabled_apps->end(); ++app) { |
1815 (*app)->SetBoolean("is_disabled", true); | 1817 (*app)->SetBoolean("is_disabled", true); |
1816 apps_list->Append(*app); | 1818 apps_list->Append(*app); |
1817 } | 1819 } |
1818 delete disabled_apps; | 1820 delete disabled_apps; |
1819 // Process terminated extensions. | 1821 // Process terminated extensions. |
1820 const extensions::ExtensionSet* terminated_extensions = | 1822 const extensions::ExtensionSet* terminated_extensions = |
1821 ext_service->terminated_extensions(); | 1823 ext_service->terminated_extensions(); |
1822 std::vector<DictionaryValue*>* terminated_apps = GetAppInfoFromExtensions( | 1824 std::vector<base::DictionaryValue*>* terminated_apps = |
1823 terminated_extensions, ext_service); | 1825 GetAppInfoFromExtensions(terminated_extensions, ext_service); |
1824 for (std::vector<DictionaryValue*>::const_iterator app = | 1826 for (std::vector<base::DictionaryValue*>::const_iterator app = |
1825 terminated_apps->begin(); app != terminated_apps->end(); ++app) { | 1827 terminated_apps->begin(); app != terminated_apps->end(); ++app) { |
1826 (*app)->SetBoolean("is_disabled", true); | 1828 (*app)->SetBoolean("is_disabled", true); |
1827 apps_list->Append(*app); | 1829 apps_list->Append(*app); |
1828 } | 1830 } |
1829 delete terminated_apps; | 1831 delete terminated_apps; |
1830 ntp_info_->Set("apps", apps_list); | 1832 ntp_info_->Set("apps", apps_list); |
1831 | 1833 |
1832 // Get the info that would be displayed in the recently closed section. | 1834 // Get the info that would be displayed in the recently closed section. |
1833 ListValue* recently_closed_list = new ListValue; | 1835 base::ListValue* recently_closed_list = new base::ListValue; |
1834 RecentlyClosedTabsHandler::CreateRecentlyClosedValues(service->entries(), | 1836 RecentlyClosedTabsHandler::CreateRecentlyClosedValues(service->entries(), |
1835 recently_closed_list); | 1837 recently_closed_list); |
1836 ntp_info_->Set("recently_closed", recently_closed_list); | 1838 ntp_info_->Set("recently_closed", recently_closed_list); |
1837 | 1839 |
1838 // Add default site URLs. | 1840 // Add default site URLs. |
1839 ListValue* default_sites_list = new ListValue; | 1841 base::ListValue* default_sites_list = new base::ListValue; |
1840 history::MostVisitedURLList urls = top_sites_->GetPrepopulatePages(); | 1842 history::MostVisitedURLList urls = top_sites_->GetPrepopulatePages(); |
1841 for (size_t i = 0; i < urls.size(); ++i) { | 1843 for (size_t i = 0; i < urls.size(); ++i) { |
1842 default_sites_list->Append(Value::CreateStringValue( | 1844 default_sites_list->Append(base::Value::CreateStringValue( |
1843 urls[i].url.possibly_invalid_spec())); | 1845 urls[i].url.possibly_invalid_spec())); |
1844 } | 1846 } |
1845 ntp_info_->Set("default_sites", default_sites_list); | 1847 ntp_info_->Set("default_sites", default_sites_list); |
1846 | 1848 |
1847 registrar_.Add(this, chrome::NOTIFICATION_TOP_SITES_UPDATED, | 1849 registrar_.Add(this, chrome::NOTIFICATION_TOP_SITES_UPDATED, |
1848 content::Source<history::TopSites>(top_sites_)); | 1850 content::Source<history::TopSites>(top_sites_)); |
1849 if (top_sites_->loaded()) { | 1851 if (top_sites_->loaded()) { |
1850 OnTopSitesLoaded(); | 1852 OnTopSitesLoaded(); |
1851 } else { | 1853 } else { |
1852 registrar_.Add(this, chrome::NOTIFICATION_TOP_SITES_LOADED, | 1854 registrar_.Add(this, chrome::NOTIFICATION_TOP_SITES_LOADED, |
(...skipping 23 matching lines...) Expand all Loading... |
1876 request_ = top_sites_->StartQueryForMostVisited(); | 1878 request_ = top_sites_->StartQueryForMostVisited(); |
1877 } | 1879 } |
1878 | 1880 |
1879 void NTPInfoObserver::OnTopSitesReceived( | 1881 void NTPInfoObserver::OnTopSitesReceived( |
1880 const history::MostVisitedURLList& visited_list) { | 1882 const history::MostVisitedURLList& visited_list) { |
1881 if (!automation_.get()) { | 1883 if (!automation_.get()) { |
1882 delete this; | 1884 delete this; |
1883 return; | 1885 return; |
1884 } | 1886 } |
1885 | 1887 |
1886 ListValue* list_value = new ListValue; | 1888 base::ListValue* list_value = new base::ListValue; |
1887 for (size_t i = 0; i < visited_list.size(); ++i) { | 1889 for (size_t i = 0; i < visited_list.size(); ++i) { |
1888 const history::MostVisitedURL& visited = visited_list[i]; | 1890 const history::MostVisitedURL& visited = visited_list[i]; |
1889 if (visited.url.spec().empty()) | 1891 if (visited.url.spec().empty()) |
1890 break; // This is the signal that there are no more real visited sites. | 1892 break; // This is the signal that there are no more real visited sites. |
1891 DictionaryValue* dict = new DictionaryValue; | 1893 base::DictionaryValue* dict = new base::DictionaryValue; |
1892 dict->SetString("url", visited.url.spec()); | 1894 dict->SetString("url", visited.url.spec()); |
1893 dict->SetString("title", visited.title); | 1895 dict->SetString("title", visited.title); |
1894 list_value->Append(dict); | 1896 list_value->Append(dict); |
1895 } | 1897 } |
1896 ntp_info_->Set("most_visited", list_value); | 1898 ntp_info_->Set("most_visited", list_value); |
1897 AutomationJSONReply(automation_.get(), reply_message_.release()) | 1899 AutomationJSONReply(automation_.get(), reply_message_.release()) |
1898 .SendSuccess(ntp_info_.get()); | 1900 .SendSuccess(ntp_info_.get()); |
1899 delete this; | 1901 delete this; |
1900 } | 1902 } |
1901 | 1903 |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1988 if (!automation_.get()) { | 1990 if (!automation_.get()) { |
1989 delete this; | 1991 delete this; |
1990 return; | 1992 return; |
1991 } | 1993 } |
1992 if (AreActiveNotificationProcessesReady()) | 1994 if (AreActiveNotificationProcessesReady()) |
1993 SendMessage(); | 1995 SendMessage(); |
1994 } | 1996 } |
1995 | 1997 |
1996 base::DictionaryValue* GetAllNotificationsObserver::NotificationToJson( | 1998 base::DictionaryValue* GetAllNotificationsObserver::NotificationToJson( |
1997 const Notification* note) { | 1999 const Notification* note) { |
1998 DictionaryValue* dict = new base::DictionaryValue(); | 2000 base::DictionaryValue* dict = new base::DictionaryValue(); |
1999 dict->SetString("content_url", note->content_url().spec()); | 2001 dict->SetString("content_url", note->content_url().spec()); |
2000 dict->SetString("origin_url", note->origin_url().spec()); | 2002 dict->SetString("origin_url", note->origin_url().spec()); |
2001 dict->SetString("display_source", note->display_source()); | 2003 dict->SetString("display_source", note->display_source()); |
2002 dict->SetString("id", note->notification_id()); | 2004 dict->SetString("id", note->notification_id()); |
2003 return dict; | 2005 return dict; |
2004 } | 2006 } |
2005 | 2007 |
2006 void GetAllNotificationsObserver::SendMessage() { | 2008 void GetAllNotificationsObserver::SendMessage() { |
2007 BalloonNotificationUIManager* manager = | 2009 BalloonNotificationUIManager* manager = |
2008 BalloonNotificationUIManager::GetInstanceForTesting(); | 2010 BalloonNotificationUIManager::GetInstanceForTesting(); |
2009 const BalloonCollection::Balloons& balloons = | 2011 const BalloonCollection::Balloons& balloons = |
2010 manager->balloon_collection()->GetActiveBalloons(); | 2012 manager->balloon_collection()->GetActiveBalloons(); |
2011 DictionaryValue return_value; | 2013 base::DictionaryValue return_value; |
2012 ListValue* list = new ListValue; | 2014 base::ListValue* list = new base::ListValue; |
2013 return_value.Set("notifications", list); | 2015 return_value.Set("notifications", list); |
2014 BalloonCollection::Balloons::const_iterator balloon_iter; | 2016 BalloonCollection::Balloons::const_iterator balloon_iter; |
2015 for (balloon_iter = balloons.begin(); balloon_iter != balloons.end(); | 2017 for (balloon_iter = balloons.begin(); balloon_iter != balloons.end(); |
2016 ++balloon_iter) { | 2018 ++balloon_iter) { |
2017 base::DictionaryValue* note = NotificationToJson( | 2019 base::DictionaryValue* note = NotificationToJson( |
2018 &(*balloon_iter)->notification()); | 2020 &(*balloon_iter)->notification()); |
2019 BalloonHost* balloon_host = (*balloon_iter)->balloon_view()->GetHost(); | 2021 BalloonHost* balloon_host = (*balloon_iter)->balloon_view()->GetHost(); |
2020 if (balloon_host) { | 2022 if (balloon_host) { |
2021 int pid = base::GetProcId(balloon_host->web_contents()-> | 2023 int pid = base::GetProcId(balloon_host->web_contents()-> |
2022 GetRenderViewHost()->GetProcess()->GetHandle()); | 2024 GetRenderViewHost()->GetProcess()->GetHandle()); |
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2286 | 2288 |
2287 ProcessInfoObserver::ProcessInfoObserver( | 2289 ProcessInfoObserver::ProcessInfoObserver( |
2288 AutomationProvider* automation, | 2290 AutomationProvider* automation, |
2289 IPC::Message* reply_message) | 2291 IPC::Message* reply_message) |
2290 : automation_(automation->AsWeakPtr()), | 2292 : automation_(automation->AsWeakPtr()), |
2291 reply_message_(reply_message) {} | 2293 reply_message_(reply_message) {} |
2292 | 2294 |
2293 ProcessInfoObserver::~ProcessInfoObserver() {} | 2295 ProcessInfoObserver::~ProcessInfoObserver() {} |
2294 | 2296 |
2295 void ProcessInfoObserver::OnDetailsAvailable() { | 2297 void ProcessInfoObserver::OnDetailsAvailable() { |
2296 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); | 2298 scoped_ptr<base::DictionaryValue> return_value(new base::DictionaryValue); |
2297 ListValue* browser_proc_list = new ListValue(); | 2299 base::ListValue* browser_proc_list = new base::ListValue(); |
2298 const std::vector<ProcessData>& all_processes = processes(); | 2300 const std::vector<ProcessData>& all_processes = processes(); |
2299 for (size_t index = 0; index < all_processes.size(); ++index) { | 2301 for (size_t index = 0; index < all_processes.size(); ++index) { |
2300 DictionaryValue* browser_data = new DictionaryValue(); | 2302 base::DictionaryValue* browser_data = new base::DictionaryValue(); |
2301 browser_data->SetString("name", all_processes[index].name); | 2303 browser_data->SetString("name", all_processes[index].name); |
2302 browser_data->SetString("process_name", all_processes[index].process_name); | 2304 browser_data->SetString("process_name", all_processes[index].process_name); |
2303 | 2305 |
2304 ListValue* proc_list = new ListValue(); | 2306 base::ListValue* proc_list = new base::ListValue(); |
2305 for (ProcessMemoryInformationList::const_iterator iterator = | 2307 for (ProcessMemoryInformationList::const_iterator iterator = |
2306 all_processes[index].processes.begin(); | 2308 all_processes[index].processes.begin(); |
2307 iterator != all_processes[index].processes.end(); ++iterator) { | 2309 iterator != all_processes[index].processes.end(); ++iterator) { |
2308 DictionaryValue* proc_data = new DictionaryValue(); | 2310 base::DictionaryValue* proc_data = new base::DictionaryValue(); |
2309 | 2311 |
2310 proc_data->SetInteger("pid", iterator->pid); | 2312 proc_data->SetInteger("pid", iterator->pid); |
2311 | 2313 |
2312 // Working set (resident) memory usage, in KBytes. | 2314 // Working set (resident) memory usage, in KBytes. |
2313 DictionaryValue* working_set = new DictionaryValue(); | 2315 base::DictionaryValue* working_set = new base::DictionaryValue(); |
2314 working_set->SetInteger("priv", iterator->working_set.priv); | 2316 working_set->SetInteger("priv", iterator->working_set.priv); |
2315 working_set->SetInteger("shareable", iterator->working_set.shareable); | 2317 working_set->SetInteger("shareable", iterator->working_set.shareable); |
2316 working_set->SetInteger("shared", iterator->working_set.shared); | 2318 working_set->SetInteger("shared", iterator->working_set.shared); |
2317 proc_data->Set("working_set_mem", working_set); | 2319 proc_data->Set("working_set_mem", working_set); |
2318 | 2320 |
2319 // Committed (resident + paged) memory usage, in KBytes. | 2321 // Committed (resident + paged) memory usage, in KBytes. |
2320 DictionaryValue* committed = new DictionaryValue(); | 2322 base::DictionaryValue* committed = new base::DictionaryValue(); |
2321 committed->SetInteger("priv", iterator->committed.priv); | 2323 committed->SetInteger("priv", iterator->committed.priv); |
2322 committed->SetInteger("mapped", iterator->committed.mapped); | 2324 committed->SetInteger("mapped", iterator->committed.mapped); |
2323 committed->SetInteger("image", iterator->committed.image); | 2325 committed->SetInteger("image", iterator->committed.image); |
2324 proc_data->Set("committed_mem", committed); | 2326 proc_data->Set("committed_mem", committed); |
2325 | 2327 |
2326 proc_data->SetString("version", iterator->version); | 2328 proc_data->SetString("version", iterator->version); |
2327 proc_data->SetString("product_name", iterator->product_name); | 2329 proc_data->SetString("product_name", iterator->product_name); |
2328 proc_data->SetInteger("num_processes", iterator->num_processes); | 2330 proc_data->SetInteger("num_processes", iterator->num_processes); |
2329 proc_data->SetBoolean("is_diagnostics", iterator->is_diagnostics); | 2331 proc_data->SetBoolean("is_diagnostics", iterator->is_diagnostics); |
2330 | 2332 |
(...skipping 10 matching lines...) Expand all Loading... |
2341 // Renderer type, if this is a renderer process. | 2343 // Renderer type, if this is a renderer process. |
2342 std::string renderer_type = "Unknown"; | 2344 std::string renderer_type = "Unknown"; |
2343 if (iterator->renderer_type != | 2345 if (iterator->renderer_type != |
2344 ProcessMemoryInformation::RENDERER_UNKNOWN) { | 2346 ProcessMemoryInformation::RENDERER_UNKNOWN) { |
2345 renderer_type = ProcessMemoryInformation::GetRendererTypeNameInEnglish( | 2347 renderer_type = ProcessMemoryInformation::GetRendererTypeNameInEnglish( |
2346 iterator->renderer_type); | 2348 iterator->renderer_type); |
2347 } | 2349 } |
2348 proc_data->SetString("renderer_type", renderer_type); | 2350 proc_data->SetString("renderer_type", renderer_type); |
2349 | 2351 |
2350 // Titles associated with this process. | 2352 // Titles associated with this process. |
2351 ListValue* titles = new ListValue(); | 2353 base::ListValue* titles = new base::ListValue(); |
2352 for (size_t title_index = 0; title_index < iterator->titles.size(); | 2354 for (size_t title_index = 0; title_index < iterator->titles.size(); |
2353 ++title_index) | 2355 ++title_index) { |
2354 titles->Append(Value::CreateStringValue(iterator->titles[title_index])); | 2356 titles->Append( |
| 2357 base::Value::CreateStringValue(iterator->titles[title_index])); |
| 2358 } |
2355 proc_data->Set("titles", titles); | 2359 proc_data->Set("titles", titles); |
2356 | 2360 |
2357 proc_list->Append(proc_data); | 2361 proc_list->Append(proc_data); |
2358 } | 2362 } |
2359 browser_data->Set("processes", proc_list); | 2363 browser_data->Set("processes", proc_list); |
2360 | 2364 |
2361 browser_proc_list->Append(browser_data); | 2365 browser_proc_list->Append(browser_data); |
2362 } | 2366 } |
2363 return_value->Set("browsers", browser_proc_list); | 2367 return_value->Set("browsers", browser_proc_list); |
2364 | 2368 |
(...skipping 26 matching lines...) Expand all Loading... |
2391 | 2395 |
2392 base::ProcessId updated_renderer_id = | 2396 base::ProcessId updated_renderer_id = |
2393 *(content::Source<base::ProcessId>(source).ptr()); | 2397 *(content::Source<base::ProcessId>(source).ptr()); |
2394 // Only return information for the renderer ID we're interested in. | 2398 // Only return information for the renderer ID we're interested in. |
2395 if (renderer_id_ != updated_renderer_id) | 2399 if (renderer_id_ != updated_renderer_id) |
2396 return; | 2400 return; |
2397 | 2401 |
2398 ChromeRenderMessageFilter::V8HeapStatsDetails* v8_heap_details = | 2402 ChromeRenderMessageFilter::V8HeapStatsDetails* v8_heap_details = |
2399 content::Details<ChromeRenderMessageFilter::V8HeapStatsDetails>(details) | 2403 content::Details<ChromeRenderMessageFilter::V8HeapStatsDetails>(details) |
2400 .ptr(); | 2404 .ptr(); |
2401 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); | 2405 scoped_ptr<base::DictionaryValue> return_value(new base::DictionaryValue); |
2402 return_value->SetInteger("renderer_id", updated_renderer_id); | 2406 return_value->SetInteger("renderer_id", updated_renderer_id); |
2403 return_value->SetInteger("v8_memory_allocated", | 2407 return_value->SetInteger("v8_memory_allocated", |
2404 v8_heap_details->v8_memory_allocated()); | 2408 v8_heap_details->v8_memory_allocated()); |
2405 return_value->SetInteger("v8_memory_used", | 2409 return_value->SetInteger("v8_memory_used", |
2406 v8_heap_details->v8_memory_used()); | 2410 v8_heap_details->v8_memory_used()); |
2407 | 2411 |
2408 if (automation_.get()) { | 2412 if (automation_.get()) { |
2409 AutomationJSONReply(automation_.get(), reply_message_.release()) | 2413 AutomationJSONReply(automation_.get(), reply_message_.release()) |
2410 .SendSuccess(return_value.get()); | 2414 .SendSuccess(return_value.get()); |
2411 } | 2415 } |
(...skipping 29 matching lines...) Expand all Loading... |
2441 if (renderer_id_ != updated_renderer_id) | 2445 if (renderer_id_ != updated_renderer_id) |
2442 return; | 2446 return; |
2443 | 2447 |
2444 ChromeRenderMessageFilter::FPSDetails* fps_details = | 2448 ChromeRenderMessageFilter::FPSDetails* fps_details = |
2445 content::Details<ChromeRenderMessageFilter::FPSDetails>(details).ptr(); | 2449 content::Details<ChromeRenderMessageFilter::FPSDetails>(details).ptr(); |
2446 // Only return information for the routing id of the host render view we're | 2450 // Only return information for the routing id of the host render view we're |
2447 // interested in. | 2451 // interested in. |
2448 if (routing_id_ != fps_details->routing_id()) | 2452 if (routing_id_ != fps_details->routing_id()) |
2449 return; | 2453 return; |
2450 | 2454 |
2451 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); | 2455 scoped_ptr<base::DictionaryValue> return_value(new base::DictionaryValue); |
2452 return_value->SetInteger("renderer_id", updated_renderer_id); | 2456 return_value->SetInteger("renderer_id", updated_renderer_id); |
2453 return_value->SetInteger("routing_id", fps_details->routing_id()); | 2457 return_value->SetInteger("routing_id", fps_details->routing_id()); |
2454 return_value->SetDouble("fps", fps_details->fps()); | 2458 return_value->SetDouble("fps", fps_details->fps()); |
2455 if (automation_.get()) { | 2459 if (automation_.get()) { |
2456 AutomationJSONReply(automation_.get(), reply_message_.release()) | 2460 AutomationJSONReply(automation_.get(), reply_message_.release()) |
2457 .SendSuccess(return_value.get()); | 2461 .SendSuccess(return_value.get()); |
2458 } | 2462 } |
2459 delete this; | 2463 delete this; |
2460 } | 2464 } |
2461 | 2465 |
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2623 if (automation_.get()) { | 2627 if (automation_.get()) { |
2624 AutomationJSONReply(automation_.get(), reply_message_.release()) | 2628 AutomationJSONReply(automation_.get(), reply_message_.release()) |
2625 .SendSuccess(NULL); | 2629 .SendSuccess(NULL); |
2626 } | 2630 } |
2627 delete this; | 2631 delete this; |
2628 } | 2632 } |
2629 } else { | 2633 } else { |
2630 NOTREACHED(); | 2634 NOTREACHED(); |
2631 } | 2635 } |
2632 } | 2636 } |
OLD | NEW |