blob: 711a17bff534b939965a881a21d23890ad632319 [file] [log] [blame]
# Copyright 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
_check_webgl_supported_script = """
(function () {
var c = document.createElement('canvas');
var gl = c.getContext('webgl');
if (gl == null) {
gl = c.getContext("experimental-webgl");
if (gl == null) {
return false;
}
}
return true;
})();
"""
class BrowserInfo(object):
"""A wrapper around browser object that allows looking up infos of the
browser.
"""
def __init__(self, browser):
self._browser = browser
def HasWebGLSupport(self):
result = False
# If no tab is opened, open one and close it after evaluate
# _check_webgl_supported_script
if len(self._browser.tabs) == 0 and self._browser.supports_tab_control:
self._browser.tabs.New()
tab = self._browser.tabs[0]
result = tab.EvaluateJavaScript(_check_webgl_supported_script)
tab.Close()
elif len(self._browser.tabs) > 0:
tab = self._browser.tabs[0]
result = tab.EvaluateJavaScript(_check_webgl_supported_script)
return result