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

Unified Diff: chrome/browser/renderer_host/chrome_render_message_filter.cc

Issue 1014543003: Add an IPC method for Blink to call RapporService::RecordSample() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: ChromeRenderMessageFilter, and add a URL version for bug 467648 Created 5 years, 9 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/renderer_host/chrome_render_message_filter.cc
diff --git a/chrome/browser/renderer_host/chrome_render_message_filter.cc b/chrome/browser/renderer_host/chrome_render_message_filter.cc
index f38bd409684c197b2b0b3f3c73da05a855d8a987..32c5fa85e12dbc336fba2ff05999bc9597fe7b96 100644
--- a/chrome/browser/renderer_host/chrome_render_message_filter.cc
+++ b/chrome/browser/renderer_host/chrome_render_message_filter.cc
@@ -11,6 +11,7 @@
#include "base/logging.h"
#include "base/metrics/field_trial.h"
#include "base/metrics/histogram.h"
+#include "chrome/browser/browser_process.h"
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/content_settings/cookie_settings.h"
#include "chrome/browser/content_settings/tab_specific_content_settings.h"
@@ -21,6 +22,8 @@
#include "chrome/common/render_messages.h"
#include "components/network_hints/common/network_hints_common.h"
#include "components/network_hints/common/network_hints_messages.h"
+#include "components/rappor/rappor_service.h"
+#include "components/rappor/rappor_utils.h"
#include "components/web_cache/browser/web_cache_manager.h"
#include "content/public/browser/notification_service.h"
#include "content/public/browser/render_process_host.h"
@@ -89,6 +92,10 @@ bool ChromeRenderMessageFilter::OnMessageReceived(const IPC::Message& message) {
#endif
IPC_MESSAGE_HANDLER(ChromeViewHostMsg_FieldTrialActivated,
OnFieldTrialActivated)
+ IPC_MESSAGE_HANDLER(ChromeViewHostMsg_RecordRappor,
+ OnRecordRappor)
+ IPC_MESSAGE_HANDLER(ChromeViewHostMsg_RecordRapporURL,
+ OnRecordRapporURL)
IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
@@ -100,6 +107,8 @@ void ChromeRenderMessageFilter::OverrideThreadForMessage(
switch (message.type()) {
case ChromeViewHostMsg_ResourceTypeStats::ID:
case ChromeViewHostMsg_UpdatedCacheStats::ID:
+ case ChromeViewHostMsg_RecordRappor::ID:
+ case ChromeViewHostMsg_RecordRapporURL::ID:
*thread = BrowserThread::UI;
break;
default:
@@ -383,3 +392,22 @@ void ChromeRenderMessageFilter::OnFieldTrialActivated(
// and activates the trial.
base::FieldTrialList::FindFullName(trial_name);
}
+
+void ChromeRenderMessageFilter::OnRecordRappor(const std::string& metric,
+ const std::string& sample) {
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
+ rappor::RapporService* rappor_service = g_browser_process->rappor_service();
+ if (!rappor_service)
+ return;
+ rappor_service->RecordSample(metric,
+ rappor::ETLD_PLUS_ONE_RAPPOR_TYPE,
+ sample);
+}
+
+void ChromeRenderMessageFilter::OnRecordRapporURL(const std::string& metric,
+ const GURL& sample) {
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
+ SampleDomainAndRegistryFromGURL(g_browser_process->rappor_service(),
Alexei Svitkine (slow) 2015/04/07 21:01:56 Isn't this function in namespace rappor?
Alexei Svitkine (slow) 2015/04/07 21:03:09 (If so, how did this even compile on the bots?)
kojii 2015/04/08 07:21:22 Yes it is...no idea how did this compile on all bo
+ metric,
+ sample);
+}

Powered by Google App Engine
This is Rietveld 408576698