gpu: Add extension check when initializing MailboxSync
And do not enable accelerated canvas in webview if extensions are
missing.
BUG=332146
Review URL: https://codereview.chromium.org/196653019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@257295 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/android_webview/browser/aw_browser_main_parts.cc b/android_webview/browser/aw_browser_main_parts.cc
index c018d1e..653f8c5f 100644
--- a/android_webview/browser/aw_browser_main_parts.cc
+++ b/android_webview/browser/aw_browser_main_parts.cc
@@ -8,12 +8,15 @@
#include "android_webview/browser/aw_result_codes.h"
#include "base/android/build_info.h"
#include "base/android/memory_pressure_listener_android.h"
+#include "base/command_line.h"
#include "base/files/file_path.h"
#include "base/path_service.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/common/content_client.h"
+#include "content/public/common/content_switches.h"
#include "content/public/common/result_codes.h"
#include "content/public/common/url_utils.h"
+#include "gpu/command_buffer/service/mailbox_synchronizer.h"
#include "net/android/network_change_notifier_factory_android.h"
#include "net/base/network_change_notifier.h"
#include "ui/base/l10n/l10n_util_android.h"
@@ -59,6 +62,11 @@
}
void AwBrowserMainParts::PreMainMessageLoopRun() {
+ if (!gpu::gles2::MailboxSynchronizer::Initialize()) {
+ CommandLine::ForCurrentProcess()->AppendSwitch(
+ switches::kDisableAccelerated2dCanvas);
+ }
+
browser_context_->PreMainMessageLoopRun();
// This is needed for WebView Classic backwards compatibility
// See crbug.com/298495