summaryrefslogtreecommitdiffstats
path: root/content/gpu/gpu_child_thread.h
diff options
context:
space:
mode:
authorzmo@chromium.org <zmo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-14 15:51:03 +0000
committerzmo@chromium.org <zmo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-14 15:51:03 +0000
commitec4bda62e7a97b104ffaa858548e47e6ac157966 (patch)
tree5cc38e395b442eb58467028dd4e1a1e7629cf52e /content/gpu/gpu_child_thread.h
parent054450391069c929bb4ff8d58088fc9e6ee006de (diff)
downloadchromium_src-ec4bda62e7a97b104ffaa858548e47e6ac157966.zip
chromium_src-ec4bda62e7a97b104ffaa858548e47e6ac157966.tar.gz
chromium_src-ec4bda62e7a97b104ffaa858548e47e6ac157966.tar.bz2
Wire gpu process startup error messages to about:gpu
This helps us to better understand why the GPU process fails to launch. BUG=249406 TEST=about:gpu get GPU process startup errors if there are any R=apatrick@chromium.org Review URL: https://codereview.chromium.org/17019002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@206420 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/gpu/gpu_child_thread.h')
-rw-r--r--content/gpu/gpu_child_thread.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/content/gpu/gpu_child_thread.h b/content/gpu/gpu_child_thread.h
index 4d40f9d..8bd9f58 100644
--- a/content/gpu/gpu_child_thread.h
+++ b/content/gpu/gpu_child_thread.h
@@ -5,6 +5,7 @@
#ifndef CONTENT_GPU_GPU_CHILD_THREAD_H_
#define CONTENT_GPU_GPU_CHILD_THREAD_H_
+#include <queue>
#include <string>
#include "base/basictypes.h"
@@ -34,9 +35,12 @@ class GpuWatchdogThread;
// commands to the GPU.
class GpuChildThread : public ChildThread {
public:
+ typedef std::queue<IPC::Message*> DeferredMessages;
+
explicit GpuChildThread(GpuWatchdogThread* gpu_watchdog_thread,
bool dead_on_arrival,
- const gpu::GPUInfo& gpu_info);
+ const gpu::GPUInfo& gpu_info,
+ const DeferredMessages& deferred_messages);
// For single-process mode.
explicit GpuChildThread(const std::string& channel_id);
@@ -84,6 +88,9 @@ class GpuChildThread : public ChildThread {
// Information about the GPU, such as device and vendor ID.
gpu::GPUInfo gpu_info_;
+ // Error messages collected in gpu_main() before the thread is created.
+ DeferredMessages deferred_messages_;
+
// Whether the GPU thread is running in the browser process.
bool in_browser_process_;