Fixed flakiness of context_lost tests on GPU bots.

Two failures were observed:

1. If the GPU process crashed between EstablishGpuChannel and
   CreateViewCommandBuffer, the channel would never be properly marked
   as lost. Now, if CreateViewCommandBuffer fails, mark the
   GpuChannelHost as lost on the renderer side. The RenderThreadImpl
   will then establish a new connection to the new GPU process.

2. In Issue 308675, support was added to allow Telemetry to navigate
   to about:gpucrash, specifically for this test. It turns out that
   each navigation from Telemetry was provoking *two* GPU process
   crashes. Depending on when they came in, the test would
   intermittently receive two lost context events and fail. Squelch
   the second debug URL handling in NavigationControllerImpl.

These fix the locally reproducible failures of this test.

BUG=365904
TEST=src/content/test/gpu/run_gpu_test.py context_lost --browser=debug --show-stdout -v --page-filter=WebGLContextLostFromGPUProcessExit --page-repeat=30

Review URL: https://codereview.chromium.org/277113002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@269763 0039d316-1c4b-4281-b951-d872f2087c98
4 files changed