- Relanding 61718.

I disabled the GPU watchdog in three new cases:
- If the OSMesa software renderer is in use. This will disable it on bots.
- When running on valgrind, whether on a bot or locally.
- In debug builds

I added a GPU process initialization time to the GPU info.

I moved the GPU initialization code outside the watchdog protection because it
can take a long time and trigger the watchdog.

I increased the timeout. I set up a field trial with different timeouts to see
the rate of failure for each period.

Original CL description:

I added a watchdog thread that intermitently checks the main thread can respond
to tasks posted on its message queue.

I fixed some bugs that prevented GGL from failing when the GPU channel was
lost.

Added a command line swith to disable the watchdog thread for debugging
purposes.

TEST=try, local testing of all features
BUG=none


git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65461 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/renderer/render_thread.cc b/chrome/renderer/render_thread.cc
index a43a6ec..b871bbe8 100644
--- a/chrome/renderer/render_thread.cc
+++ b/chrome/renderer/render_thread.cc
@@ -765,12 +765,12 @@
   if (gpu_channel_.get()) {
     // Do nothing if we already have a GPU channel or are already
     // establishing one.
-    if (gpu_channel_->state() == GpuChannelHost::UNCONNECTED ||
-        gpu_channel_->state() == GpuChannelHost::CONNECTED)
+    if (gpu_channel_->state() == GpuChannelHost::kUnconnected ||
+        gpu_channel_->state() == GpuChannelHost::kConnected)
       return;
 
     // Recreate the channel if it has been lost.
-    if (gpu_channel_->state() == GpuChannelHost::LOST)
+    if (gpu_channel_->state() == GpuChannelHost::kLost)
       gpu_channel_ = NULL;
   }
 
@@ -791,7 +791,7 @@
   if (!gpu_channel_.get())
     return NULL;
 
-  if (gpu_channel_->state() != GpuChannelHost::CONNECTED)
+  if (gpu_channel_->state() != GpuChannelHost::kConnected)
     return NULL;
 
   return gpu_channel_.get();