// Copyright 2022 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // Represents a thread making a debug call to // the visual debugger. // class Thread { // Keeps track of all threads that debug calls came in from // while the app is running. static registered_threads = {}; constructor(json) { this.threadName_ = json.thread_name; // Calls from each thread is enabled by default. this.enabled_ = true; // Thread color overriding filter colors is disabled by default. this.overrideFilters_ = false; this.drawColor_ = '#000000'; this.fillAlpha_ = "10"; // Add new thread to a pool of thread objects. Thread.registered_threads[this.threadName_] = this; // Create thread filter chip. const threadChip = createThreadChip(this); const threadFilters = document.querySelector('#threads'); threadFilters.appendChild(threadChip); } static isThreadRegistered(threadName) { // If thread already registered, return true. return (threadName in Thread.registered_threads); } static getThread(threadName) { return Thread.registered_threads[threadName]; } toggleEnableThread() { this.enabled_ = !this.enabled_; } }