| Index: content/browser/profiler_message_filter.cc
|
| ===================================================================
|
| --- content/browser/profiler_message_filter.cc (revision 0)
|
| +++ content/browser/profiler_message_filter.cc (revision 0)
|
| @@ -0,0 +1,46 @@
|
| +// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "content/browser/profiler_message_filter.h"
|
| +
|
| +#include "base/tracked_objects.h"
|
| +#include "base/values.h"
|
| +#include "content/browser/profiler_controller_impl.h"
|
| +#include "content/common/child_process_messages.h"
|
| +
|
| +using content::BrowserThread;
|
| +
|
| +ProfilerMessageFilter::ProfilerMessageFilter() {
|
| +}
|
| +
|
| +ProfilerMessageFilter::~ProfilerMessageFilter() {
|
| +}
|
| +
|
| +void ProfilerMessageFilter::OnChannelConnected(int32 peer_pid) {
|
| + BrowserMessageFilter::OnChannelConnected(peer_pid);
|
| +
|
| + bool enable = tracked_objects::ThreadData::tracking_status();
|
| + Send(new ChildProcessMsg_SetProfilerStatus(enable));
|
| +}
|
| +
|
| +bool ProfilerMessageFilter::OnMessageReceived(const IPC::Message& message,
|
| + bool* message_was_ok) {
|
| + bool handled = true;
|
| + IPC_BEGIN_MESSAGE_MAP_EX(ProfilerMessageFilter, message, *message_was_ok)
|
| + IPC_MESSAGE_HANDLER(ChildProcessHostMsg_ChildProfilerData,
|
| + OnChildProfilerData)
|
| + IPC_MESSAGE_UNHANDLED(handled = false)
|
| + IPC_END_MESSAGE_MAP_EX()
|
| + return handled;
|
| +}
|
| +
|
| +void ProfilerMessageFilter::OnChildProfilerData(
|
| + int sequence_number,
|
| + const base::DictionaryValue& profiler_data) {
|
| + base::DictionaryValue* dictionary_value = new base::DictionaryValue;
|
| + dictionary_value->MergeDictionary(&profiler_data);
|
| + // OnProfilerDataCollected assumes the ownership of profiler_data.
|
| + content::ProfilerControllerImpl::GetInstance()->OnProfilerDataCollected(
|
| + sequence_number, dictionary_value);
|
| +}
|
|
|
| Property changes on: content\browser\profiler_message_filter.cc
|
| ___________________________________________________________________
|
| Added: svn:executable
|
| + *
|
|
|
|
|