diff options
author | primiano@chromium.org <primiano@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-07-02 06:57:17 +0000 |
---|---|---|
committer | primiano@chromium.org <primiano@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-07-02 06:57:17 +0000 |
commit | e9271ae4de6019e32453d9c3ef6e6def870f57b0 (patch) | |
tree | 5336450e8738c36dbb0303f38ea52fbc1ffaeff2 /content | |
parent | edea649fc41c7a24a55c034bccae0e7ecaafc3fc (diff) | |
download | chromium_src-e9271ae4de6019e32453d9c3ef6e6def870f57b0.zip chromium_src-e9271ae4de6019e32453d9c3ef6e6def870f57b0.tar.gz chromium_src-e9271ae4de6019e32453d9c3ef6e6def870f57b0.tar.bz2 |
Merge 279661 "Don't initialize GpuDataManager if GPU is not dete..."
> Don't initialize GpuDataManager if GPU is not detected.
>
> Avoid calling the CpuDataManagerImpl initializer if the GPU
> could not be detected (established_gpu_channel == false).
> This is to ensure that WebView can still startup and fall back
> to SW rendering path in the Android emulator.
>
> BUG=388642
>
> Review URL: https://codereview.chromium.org/337123003
TBR=primiano@chromium.org
Review URL: https://codereview.chromium.org/366923003
git-svn-id: svn://svn.chromium.org/chrome/branches/2062/src@280953 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content')
-rw-r--r-- | content/browser/browser_main_loop.cc | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/content/browser/browser_main_loop.cc b/content/browser/browser_main_loop.cc index 05b679a..8bcc3d3 100644 --- a/content/browser/browser_main_loop.cc +++ b/content/browser/browser_main_loop.cc @@ -932,16 +932,20 @@ int BrowserMainLoop::BrowserThreadsStarted() { #if !defined(OS_IOS) HistogramSynchronizer::GetInstance(); + bool initialize_gpu_data_manager = true; #if defined(OS_ANDROID) // On Android, GLSurface::InitializeOneOff() must be called before initalizing // the GpuDataManagerImpl as it uses the GL bindings. crbug.com/326295 - if (!gfx::GLSurface::InitializeOneOff()) - LOG(FATAL) << "GLSurface::InitializeOneOff failed"; + if (!gfx::GLSurface::InitializeOneOff()) { + LOG(ERROR) << "GLSurface::InitializeOneOff failed"; + initialize_gpu_data_manager = false; + } #endif // Initialize the GpuDataManager before we set up the MessageLoops because // otherwise we'll trigger the assertion about doing IO on the UI thread. - GpuDataManagerImpl::GetInstance()->Initialize(); + if (initialize_gpu_data_manager) + GpuDataManagerImpl::GetInstance()->Initialize(); bool always_uses_gpu = true; bool established_gpu_channel = false; |