Index: ipc/ipc_channel_reader.cc |
diff --git a/ipc/ipc_channel_reader.cc b/ipc/ipc_channel_reader.cc |
index 66e3f17528c4a8b777762baa464b15e15a1fadf6..adc32084bc44746e273f32b3214c9714cd79de52 100644 |
--- a/ipc/ipc_channel_reader.cc |
+++ b/ipc/ipc_channel_reader.cc |
@@ -5,8 +5,10 @@ |
#include "ipc/ipc_channel_reader.h" |
#include <algorithm> |
+#include <iostream> |
#include "base/metrics/histogram_macros.h" |
+#include "content/renderer/greenweb_latency_tracking.h" |
#include "ipc/ipc_listener.h" |
#include "ipc/ipc_logging.h" |
#include "ipc/ipc_message.h" |
@@ -207,11 +209,23 @@ void ChannelReader::EmitLogBeforeDispatch(const Message& message) { |
message.flags(), TRACE_EVENT_FLAG_FLOW_IN, "name", |
name); |
#else |
- TRACE_EVENT_WITH_FLOW2("ipc,toplevel", "ChannelReader::DispatchInputData", |
- message.flags(), TRACE_EVENT_FLAG_FLOW_IN, "class", |
- IPC_MESSAGE_ID_CLASS(message.type()), "line", |
- IPC_MESSAGE_ID_LINE(message.type())); |
+ TRACE_EVENT_WITH_FLOW1("ipc,toplevel", "ChannelReader::DispatchInputData", |
+ message.flags(), TRACE_EVENT_FLAG_FLOW_IN, "QoS Type", |
+ message.qos_type()); |
#endif |
+ // The info of the main renderer thread can't be overwritten! |
+ // This is because in the current implementation we send the ebs_enable and qos_type |
+ // info along with every IPC message. So it's possible that the GPU process sends |
+ // a default ebs_enabled value that overwrites the value that is already correctly |
+ // set in the main renderer thread. |
+ if (base::trace_event::TraceLog::GetInstance()->GetProcessName() != "Renderer") { |
+ g_qos_type = message.qos_type(); |
+ g_qos_target = message.qos_target(); |
+ g_ebs_enabled = message.ebs_enabled(); |
+ } |
+ dbg_ipc_cout("Receive" << ": g_ebs_enabled: " << g_ebs_enabled << |
+ ", g_qos_type: " << g_qos_type << |
+ ", g_qos_target" << g_qos_target); |
} |
bool ChannelReader::DispatchAttachmentBrokerMessage(const Message& message) { |