blob: 991562f88efcf86d7be3281cbfda698645a4c612 [file]
// Copyright 2026 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import type * as Protocol from '../../generated/protocol.js';
import type * as Platform from '../platform/platform.js';
import type {CSSModel} from './CSSModel.js';
import type {CSSStyleSheetHeader} from './CSSStyleSheetHeader.js';
export class CSSLocation {
readonly #cssModel: CSSModel;
styleSheetId: Protocol.DOM.StyleSheetId;
url: Platform.DevToolsPath.UrlString;
lineNumber: number;
columnNumber: number;
constructor(header: CSSStyleSheetHeader, lineNumber: number, columnNumber?: number) {
this.#cssModel = header.cssModel();
this.styleSheetId = header.id;
this.url = header.resourceURL();
this.lineNumber = lineNumber;
this.columnNumber = columnNumber || 0;
}
cssModel(): CSSModel {
return this.#cssModel;
}
header(): CSSStyleSheetHeader|null {
return this.#cssModel.styleSheetHeaderForId(this.styleSheetId);
}
}