Index: content/gpu/gpu_watchdog_thread.h |
diff --git a/content/gpu/gpu_watchdog_thread.h b/content/gpu/gpu_watchdog_thread.h |
deleted file mode 100644 |
index 68d3cd8cb8d7c9b6574e69fa21f21d418b311b5a..0000000000000000000000000000000000000000 |
--- a/content/gpu/gpu_watchdog_thread.h |
+++ /dev/null |
@@ -1,149 +0,0 @@ |
-// Copyright (c) 2012 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. |
- |
-#ifndef CONTENT_GPU_GPU_WATCHDOG_THREAD_H_ |
-#define CONTENT_GPU_GPU_WATCHDOG_THREAD_H_ |
- |
-#include "base/macros.h" |
-#include "base/memory/ref_counted.h" |
-#include "base/memory/weak_ptr.h" |
-#include "base/message_loop/message_loop.h" |
-#include "base/power_monitor/power_observer.h" |
-#include "base/threading/thread.h" |
-#include "base/time/time.h" |
-#include "build/build_config.h" |
-#include "gpu/ipc/service/gpu_watchdog.h" |
-#include "ui/gfx/native_widget_types.h" |
- |
-#if defined(USE_X11) |
-extern "C" { |
-#include <X11/Xlib.h> |
-#include <X11/Xatom.h> |
-} |
-#include <sys/poll.h> |
-#include "ui/base/x/x11_util.h" // nogncheck |
-#include "ui/gfx/x/x11_types.h" // nogncheck |
-#endif |
- |
-namespace content { |
- |
-// A thread that intermitently sends tasks to a group of watched message loops |
-// and deliberately crashes if one of them does not respond after a timeout. |
-class GpuWatchdogThread : public base::Thread, |
- public gpu::GpuWatchdog, |
- public base::PowerObserver, |
- public base::RefCountedThreadSafe<GpuWatchdogThread> { |
- public: |
- explicit GpuWatchdogThread(int timeout); |
- |
- // Accessible on watched thread but only modified by watchdog thread. |
- bool armed() const { return armed_; } |
- void PostAcknowledge(); |
- |
- // Implement gpu::GpuWatchdog. |
- void CheckArmed() override; |
- |
- // Must be called after a PowerMonitor has been created. Can be called from |
- // any thread. |
- void AddPowerObserver(); |
- |
- protected: |
- void Init() override; |
- void CleanUp() override; |
- |
- private: |
- friend class base::RefCountedThreadSafe<GpuWatchdogThread>; |
- |
- // An object of this type intercepts the reception and completion of all tasks |
- // on the watched thread and checks whether the watchdog is armed. |
- class GpuWatchdogTaskObserver : public base::MessageLoop::TaskObserver { |
- public: |
- explicit GpuWatchdogTaskObserver(GpuWatchdogThread* watchdog); |
- ~GpuWatchdogTaskObserver() override; |
- |
- // Implements MessageLoop::TaskObserver. |
- void WillProcessTask(const base::PendingTask& pending_task) override; |
- void DidProcessTask(const base::PendingTask& pending_task) override; |
- |
- private: |
- GpuWatchdogThread* watchdog_; |
- }; |
- |
- ~GpuWatchdogThread() override; |
- |
- void OnAcknowledge(); |
- void OnCheck(bool after_suspend); |
- void DeliberatelyTerminateToRecoverFromHang(); |
-#if defined(USE_X11) |
- void SetupXServer(); |
- void SetupXChangeProp(); |
- bool MatchXEventAtom(XEvent* event); |
-#endif |
- |
- void OnAddPowerObserver(); |
- |
- // Implement PowerObserver. |
- void OnSuspend() override; |
- void OnResume() override; |
- |
-#if defined(OS_WIN) |
- base::ThreadTicks GetWatchedThreadTime(); |
-#endif |
- |
-#if defined(USE_X11) |
- int GetActiveTTY() const; |
-#endif |
- |
- base::MessageLoop* watched_message_loop_; |
- base::TimeDelta timeout_; |
- volatile bool armed_; |
- GpuWatchdogTaskObserver task_observer_; |
- |
- // True if the watchdog should wait for a certain amount of CPU to be used |
- // before killing the process. |
- bool use_thread_cpu_time_; |
- |
- // The number of consecutive acknowledgements that had a latency less than |
- // 50ms. |
- int responsive_acknowledge_count_; |
- |
-#if defined(OS_WIN) |
- void* watched_thread_handle_; |
- base::ThreadTicks arm_cpu_time_; |
- |
- // This measures the time that the system has been running, in units of 100 |
- // ns. |
- ULONGLONG arm_interrupt_time_; |
-#endif |
- |
- // Time after which it's assumed that the computer has been suspended since |
- // the task was posted. |
- base::Time suspension_timeout_; |
- |
- bool suspended_; |
- |
- // The time the last OnSuspend and OnResume was called. |
- base::Time suspend_time_; |
- base::Time resume_time_; |
- |
- // This is the time the last check was sent. |
- base::Time check_time_; |
- base::TimeTicks check_timeticks_; |
- |
-#if defined(USE_X11) |
- XDisplay* display_; |
- gfx::AcceleratedWidget window_; |
- XAtom atom_; |
- FILE* tty_file_; |
- int host_tty_; |
-#endif |
- |
- base::WeakPtrFactory<GpuWatchdogThread> weak_factory_; |
- |
- DISALLOW_COPY_AND_ASSIGN(GpuWatchdogThread); |
-}; |
- |
-} // namespace content |
- |
-#endif // CONTENT_GPU_GPU_WATCHDOG_THREAD_H_ |