| Index: content/gpu/gpu_main.cc
|
| diff --git a/content/gpu/gpu_main.cc b/content/gpu/gpu_main.cc
|
| index 221361feae2df5fe75e05fa3fe72fc60ca889f83..709bcb12addc1e195ca371faeb4e8e3572c053fc 100644
|
| --- a/content/gpu/gpu_main.cc
|
| +++ b/content/gpu/gpu_main.cc
|
| @@ -11,6 +11,7 @@
|
| #include "base/debug/trace_event.h"
|
| #include "base/lazy_instance.h"
|
| #include "base/message_loop.h"
|
| +#include "base/power_monitor/power_monitor.h"
|
| #include "base/rand_util.h"
|
| #include "base/strings/string_number_conversions.h"
|
| #include "base/strings/stringprintf.h"
|
| @@ -19,6 +20,7 @@
|
| #include "content/child/child_process.h"
|
| #include "content/common/gpu/gpu_config.h"
|
| #include "content/common/gpu/gpu_messages.h"
|
| +#include "content/common/power_monitor_broadcast_source.h"
|
| #include "content/common/sandbox_linux.h"
|
| #include "content/gpu/gpu_child_thread.h"
|
| #include "content/gpu/gpu_process.h"
|
| @@ -169,6 +171,13 @@ int GpuMain(const MainFunctionParams& parameters) {
|
| delayed_watchdog_enable = true;
|
| #endif
|
|
|
| + scoped_ptr<PowerMonitorBroadcastSource> power_monitor_source(
|
| + new PowerMonitorBroadcastSource(main_message_loop.message_loop_proxy()));
|
| + IPC::ChannelProxy::MessageFilter* power_monitor_message_filter =
|
| + power_monitor_source->MessageFilter();
|
| + scoped_ptr<base::PowerMonitor> power_monitor(new base::PowerMonitor(
|
| + power_monitor_source.PassAs<base::PowerMonitorSource>()));
|
| +
|
| scoped_refptr<GpuWatchdogThread> watchdog_thread;
|
|
|
| // Start the GPU watchdog only after anything that is expected to be time
|
| @@ -283,6 +292,9 @@ int GpuMain(const MainFunctionParams& parameters) {
|
| dead_on_arrival,
|
| gpu_info,
|
| deferred_messages.Get());
|
| +
|
| + child_thread->channel()->AddFilter(power_monitor_message_filter);
|
| +
|
| while (!deferred_messages.Get().empty())
|
| deferred_messages.Get().pop();
|
|
|
|
|