| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/extensions/activity_log.h" | 5 #include "chrome/browser/extensions/activity_log.h" |
| 6 | 6 |
| 7 #include <set> | 7 #include <set> |
| 8 #include <vector> | 8 #include <vector> |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/json/json_string_value_serializer.h" | 10 #include "base/json/json_string_value_serializer.h" |
| (...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 349 if (!IsLogEnabled()) return; | 349 if (!IsLogEnabled()) return; |
| 350 LogDOMActionInternal(extension, | 350 LogDOMActionInternal(extension, |
| 351 url, | 351 url, |
| 352 url_title, | 352 url_title, |
| 353 api_call, | 353 api_call, |
| 354 args, | 354 args, |
| 355 extra, | 355 extra, |
| 356 DOMAction::MODIFIED); | 356 DOMAction::MODIFIED); |
| 357 } | 357 } |
| 358 | 358 |
| 359 void ActivityLog::LogWebRequestAction(const Extension* extension, | |
| 360 const GURL& url, | |
| 361 const std::string& api_call, | |
| 362 scoped_ptr<DictionaryValue> details, | |
| 363 const std::string& extra) { | |
| 364 string16 null_title; | |
| 365 if (!IsLogEnabled()) return; | |
| 366 | |
| 367 // Strip details of the web request modifications (for privacy reasons), | |
| 368 // unless testing is enabled. | |
| 369 if (!testing_mode_) { | |
| 370 DictionaryValue::Iterator details_iterator(*details); | |
| 371 while (!details_iterator.IsAtEnd()) { | |
| 372 details->SetBoolean(details_iterator.key(), true); | |
| 373 details_iterator.Advance(); | |
| 374 } | |
| 375 } | |
| 376 std::string details_string; | |
| 377 JSONStringValueSerializer serializer(&details_string); | |
| 378 serializer.SerializeAndOmitBinaryValues(*details); | |
| 379 | |
| 380 scoped_refptr<DOMAction> action = new DOMAction( | |
| 381 extension->id(), | |
| 382 base::Time::Now(), | |
| 383 DOMAction::WEBREQUEST, | |
| 384 url, | |
| 385 null_title, | |
| 386 api_call, | |
| 387 details_string, | |
| 388 extra); | |
| 389 ScheduleAndForget(&ActivityDatabase::RecordAction, action); | |
| 390 | |
| 391 // Display the action. | |
| 392 ObserverMap::const_iterator iter = observers_.find(extension); | |
| 393 if (iter != observers_.end()) { | |
| 394 iter->second->Notify(&Observer::OnExtensionActivity, | |
| 395 extension, | |
| 396 ActivityLog::ACTIVITY_CONTENT_SCRIPT, | |
| 397 action->PrettyPrintForDebug()); | |
| 398 } | |
| 399 if (log_activity_to_stdout_) | |
| 400 LOG(INFO) << action->PrettyPrintForDebug(); | |
| 401 } | |
| 402 | |
| 403 void ActivityLog::GetActions( | 359 void ActivityLog::GetActions( |
| 404 const std::string& extension_id, | 360 const std::string& extension_id, |
| 405 const int day, | 361 const int day, |
| 406 const base::Callback | 362 const base::Callback |
| 407 <void(scoped_ptr<std::vector<scoped_refptr<Action> > >)>& callback) { | 363 <void(scoped_ptr<std::vector<scoped_refptr<Action> > >)>& callback) { |
| 408 if (!db_) return; | 364 if (!db_) return; |
| 409 BrowserThread::PostTaskAndReplyWithResult( | 365 BrowserThread::PostTaskAndReplyWithResult( |
| 410 BrowserThread::DB, | 366 BrowserThread::DB, |
| 411 FROM_HERE, | 367 FROM_HERE, |
| 412 base::Bind(&ActivityDatabase::GetActions, | 368 base::Bind(&ActivityDatabase::GetActions, |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 475 return "content_script"; | 431 return "content_script"; |
| 476 case ActivityLog::ACTIVITY_EVENT_DISPATCH: | 432 case ActivityLog::ACTIVITY_EVENT_DISPATCH: |
| 477 return "event_dispatch"; | 433 return "event_dispatch"; |
| 478 default: | 434 default: |
| 479 NOTREACHED(); | 435 NOTREACHED(); |
| 480 return ""; | 436 return ""; |
| 481 } | 437 } |
| 482 } | 438 } |
| 483 | 439 |
| 484 } // namespace extensions | 440 } // namespace extensions |
| OLD | NEW |