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

Side by Side Diff: chrome/browser/renderer_host/chrome_render_message_filter.cc

Issue 13726026: Added ActivityLog tests and associated bugfixes/extra logging. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Reverted two changes Created 7 years, 8 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/renderer_host/chrome_render_message_filter.h" 5 #include "chrome/browser/renderer_host/chrome_render_message_filter.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/file_util.h" 9 #include "base/file_util.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 52
53 using content::BrowserThread; 53 using content::BrowserThread;
54 using extensions::APIPermission; 54 using extensions::APIPermission;
55 using WebKit::WebCache; 55 using WebKit::WebCache;
56 using WebKit::WebSecurityOrigin; 56 using WebKit::WebSecurityOrigin;
57 57
58 namespace { 58 namespace {
59 59
60 void AddAPIActionToExtensionActivityLog( 60 void AddAPIActionToExtensionActivityLog(
61 Profile* profile, 61 Profile* profile,
62 const std::string& call_type,
62 const extensions::Extension* extension, 63 const extensions::Extension* extension,
63 const std::string& api_call, 64 const std::string& api_call,
64 scoped_ptr<ListValue> args, 65 scoped_ptr<ListValue> args,
65 const std::string& extra) { 66 const std::string& extra) {
66 // The ActivityLog can only be accessed from the main (UI) thread. If we're 67 // The ActivityLog can only be accessed from the main (UI) thread. If we're
67 // running on the wrong thread, re-dispatch from the main thread. 68 // running on the wrong thread, re-dispatch from the main thread.
68 if (!BrowserThread::CurrentlyOn(BrowserThread::UI)) { 69 if (!BrowserThread::CurrentlyOn(BrowserThread::UI)) {
69 BrowserThread::PostTask(BrowserThread::UI, 70 BrowserThread::PostTask(BrowserThread::UI,
70 FROM_HERE, 71 FROM_HERE,
71 base::Bind(&AddAPIActionToExtensionActivityLog, 72 base::Bind(&AddAPIActionToExtensionActivityLog,
72 profile, 73 profile,
74 call_type,
73 extension, 75 extension,
74 api_call, 76 api_call,
75 base::Passed(&args), 77 base::Passed(&args),
76 extra)); 78 extra));
77 } else { 79 } else {
78 extensions::ActivityLog* activity_log = 80 extensions::ActivityLog* activity_log =
79 extensions::ActivityLog::GetInstance(profile); 81 extensions::ActivityLog::GetInstance(profile);
80 if (activity_log && activity_log->IsLogEnabled()) 82 if (activity_log && activity_log->IsLogEnabled()) {
81 activity_log->LogAPIAction(extension, api_call, args.get(), extra); 83 if (call_type == "API")
palmer 2013/04/10 23:52:48 Hmm, how open-ended are these call types? Maybe an
84 activity_log->LogAPIAction(extension, api_call, args.get(), extra);
85 else if (call_type == "EVENT")
86 activity_log->LogEventAction(extension, api_call, args.get(), extra);
87 }
82 } 88 }
83 } 89 }
84 90
85 void AddDOMActionToExtensionActivityLog( 91 void AddDOMActionToExtensionActivityLog(
86 Profile* profile, 92 Profile* profile,
87 const extensions::Extension* extension, 93 const extensions::Extension* extension,
88 const GURL& url, 94 const GURL& url,
89 const string16& url_title, 95 const string16& url_title,
90 const std::string& api_call, 96 const std::string& api_call,
91 scoped_ptr<ListValue> args, 97 scoped_ptr<ListValue> args,
(...skipping 491 matching lines...) Expand 10 before | Expand all | Expand 10 after
583 static int next_unique_id = 1; 589 static int next_unique_id = 1;
584 *unique_id = next_unique_id++; 590 *unique_id = next_unique_id++;
585 } 591 }
586 592
587 void ChromeRenderMessageFilter::OnExtensionResumeRequests(int route_id) { 593 void ChromeRenderMessageFilter::OnExtensionResumeRequests(int route_id) {
588 content::ResourceDispatcherHost::Get()->ResumeBlockedRequestsForRoute( 594 content::ResourceDispatcherHost::Get()->ResumeBlockedRequestsForRoute(
589 render_process_id_, route_id); 595 render_process_id_, route_id);
590 } 596 }
591 597
592 void ChromeRenderMessageFilter::OnAddAPIActionToExtensionActivityLog( 598 void ChromeRenderMessageFilter::OnAddAPIActionToExtensionActivityLog(
599 const std::string& call_type,
593 const std::string& extension_id, 600 const std::string& extension_id,
594 const ExtensionHostMsg_APIAction_Params& params) { 601 const ExtensionHostMsg_APIAction_Params& params) {
595 const extensions::Extension* extension = 602 const extensions::Extension* extension =
596 extension_info_map_->extensions().GetByID(extension_id); 603 extension_info_map_->extensions().GetByID(extension_id);
597 scoped_ptr<ListValue> args(params.arguments.DeepCopy()); 604 scoped_ptr<ListValue> args(params.arguments.DeepCopy());
598 // The activity is recorded as an API action in the extension 605 // The activity is recorded as an API action in the extension
599 // activity log. 606 // activity log.
600 AddAPIActionToExtensionActivityLog(profile_, extension, 607 AddAPIActionToExtensionActivityLog(profile_, call_type, extension,
601 params.api_call, args.Pass(), 608 params.api_call, args.Pass(),
602 params.extra); 609 params.extra);
603 } 610 }
604 611
605 void ChromeRenderMessageFilter::OnAddDOMActionToExtensionActivityLog( 612 void ChromeRenderMessageFilter::OnAddDOMActionToExtensionActivityLog(
606 const std::string& extension_id, 613 const std::string& extension_id,
607 const ExtensionHostMsg_DOMAction_Params& params) { 614 const ExtensionHostMsg_DOMAction_Params& params) {
608 const extensions::Extension* extension = 615 const extensions::Extension* extension =
609 extension_info_map_->extensions().GetByID(extension_id); 616 extension_info_map_->extensions().GetByID(extension_id);
610 scoped_ptr<ListValue> args(params.arguments.DeepCopy()); 617 scoped_ptr<ListValue> args(params.arguments.DeepCopy());
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
703 710
704 void ChromeRenderMessageFilter::OnSetCookie(const IPC::Message& message, 711 void ChromeRenderMessageFilter::OnSetCookie(const IPC::Message& message,
705 const GURL& url, 712 const GURL& url,
706 const GURL& first_party_for_cookies, 713 const GURL& first_party_for_cookies,
707 const std::string& cookie) { 714 const std::string& cookie) {
708 #if defined(ENABLE_AUTOMATION) 715 #if defined(ENABLE_AUTOMATION)
709 AutomationResourceMessageFilter::SetCookiesForUrl( 716 AutomationResourceMessageFilter::SetCookiesForUrl(
710 render_process_id_, message.routing_id(), url, cookie); 717 render_process_id_, message.routing_id(), url, cookie);
711 #endif 718 #endif
712 } 719 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698