1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
content / browser / resources / gpu / gpu_internals.ts [blame]
// Copyright 2011 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import './info_view.js';
import {BrowserBridge} from './browser_bridge.js';
const browserBridge = new BrowserBridge();
// Injected script from C++ or test environments may reference `browserBridge`
// as a property of the global object.
Object.assign(window, {browserBridge});
/**
* Main entry point. called once the page has loaded.
*/
function onLoad() {
// Create the views.
document.querySelector('info-view')!.addBrowserBridgeListeners(browserBridge);
// Because of inherent raciness (between the deprecated DevTools API which
// telemetry uses to drive the relevant tests, and the asynchronous
// loading of JS modules like this one) it's possible for telemetry tests
// to inject code *before* `browserBridge` is set and the DOM is
// populated. This flag is used to synchronize script injection by tests
// to prevent such races.
Object.assign(window, {
gpuPagePopulated: true,
getGPUInfo(category: string, feature = '') {
return document.querySelector('info-view')!.getInfo(category, feature);
},
});
}
document.addEventListener('DOMContentLoaded', onLoad);