summaryrefslogtreecommitdiffstats
path: root/content/browser/renderer_host
diff options
context:
space:
mode:
authorchangbin.shao@intel.com <changbin.shao@intel.com@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-04 14:06:59 +0000
committerchangbin.shao@intel.com <changbin.shao@intel.com@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-04 14:06:59 +0000
commit0e7ee58b0ffa0e94e0bfe421b39376922f15b14f (patch)
treee8ef643823be570bb3fbbec387ff20e0d4ae184d /content/browser/renderer_host
parent12397ca6cf1c2bf26d98462c1ff906399fbee822 (diff)
downloadchromium_src-0e7ee58b0ffa0e94e0bfe421b39376922f15b14f.zip
chromium_src-0e7ee58b0ffa0e94e0bfe421b39376922f15b14f.tar.gz
chromium_src-0e7ee58b0ffa0e94e0bfe421b39376922f15b14f.tar.bz2
Limit the rate to send media log events over IPC.
Some media events e.g. BufferedExtentsChanged update quite often, this causes heavy IPC traffic for CPU. In the meantime, chrome://media-internals doesn't need to update data in such a high frequency. Use array to send these events every 1 second. BUG=235096 Review URL: https://chromiumcodereview.appspot.com/14146018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@198314 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/renderer_host')
-rw-r--r--content/browser/renderer_host/render_message_filter.cc7
-rw-r--r--content/browser/renderer_host/render_message_filter.h2
2 files changed, 5 insertions, 4 deletions
diff --git a/content/browser/renderer_host/render_message_filter.cc b/content/browser/renderer_host/render_message_filter.cc
index fb42c12..9bea24c 100644
--- a/content/browser/renderer_host/render_message_filter.cc
+++ b/content/browser/renderer_host/render_message_filter.cc
@@ -414,7 +414,7 @@ bool RenderMessageFilter::OnMessageReceived(const IPC::Message& message,
OnGetAudioHardwareConfig)
IPC_MESSAGE_HANDLER(ViewHostMsg_GetMonitorColorProfile,
OnGetMonitorColorProfile)
- IPC_MESSAGE_HANDLER(ViewHostMsg_MediaLogEvent, OnMediaLogEvent)
+ IPC_MESSAGE_HANDLER(ViewHostMsg_MediaLogEvents, OnMediaLogEvents)
IPC_MESSAGE_HANDLER(ViewHostMsg_Are3DAPIsBlocked, OnAre3DAPIsBlocked)
IPC_MESSAGE_HANDLER(ViewHostMsg_DidLose3DContext, OnDidLose3DContext)
#if defined(OS_ANDROID)
@@ -1013,9 +1013,10 @@ void RenderMessageFilter::AsyncOpenFileOnFileThread(const base::FilePath& path,
base::Bind(base::IgnoreResult(&RenderMessageFilter::Send), this, reply));
}
-void RenderMessageFilter::OnMediaLogEvent(const media::MediaLogEvent& event) {
+void RenderMessageFilter::OnMediaLogEvents(
+ const std::vector<media::MediaLogEvent>& events) {
if (media_internals_)
- media_internals_->OnMediaEvent(render_process_id_, event);
+ media_internals_->OnMediaEvents(render_process_id_, events);
}
void RenderMessageFilter::CheckPolicyForCookies(
diff --git a/content/browser/renderer_host/render_message_filter.h b/content/browser/renderer_host/render_message_filter.h
index 8541446..fb45016 100644
--- a/content/browser/renderer_host/render_message_filter.h
+++ b/content/browser/renderer_host/render_message_filter.h
@@ -231,7 +231,7 @@ class RenderMessageFilter : public BrowserMessageFilter {
int flags,
int message_id,
int routing_id);
- void OnMediaLogEvent(const media::MediaLogEvent&);
+ void OnMediaLogEvents(const std::vector<media::MediaLogEvent>&);
// Check the policy for getting cookies. Gets the cookies if allowed.
void CheckPolicyForCookies(const GURL& url,