[issues] Fix IssuesResolver using outdated event payload type The payload for the IssueManager.Events.IssueAdded changed a few months ago from passing a single issue to passing a (issue, model) tuple. This CL updates the MockIssuesManager and IssuesResolver to use the correct type. Once type-safe event listeners are available, this sort of bug will be prevented. Fixed: 1229955 Change-Id: Ia574420f49efe222309bb62b6bad0732ae7c93c4 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3034064 Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> (cherry picked from commit 9a59e40402fc87261377e84338f155038eb87e99) Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3038589 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
diff --git a/front_end/models/issues_manager/IssueResolver.ts b/front_end/models/issues_manager/IssueResolver.ts index 87268fe..f41dc74 100644 --- a/front_end/models/issues_manager/IssueResolver.ts +++ b/front_end/models/issues_manager/IssueResolver.ts
@@ -25,7 +25,7 @@ } private onIssueAdded(event: Common.EventTarget.EventTargetEvent): void { - const issue = event.data as Issue; + const issue = event.data.issue as Issue; const id = issue.getIssueId(); if (id) { this.onResolve(id, issue);
diff --git a/test/unittests/front_end/models/issues_manager/MockIssuesManager.ts b/test/unittests/front_end/models/issues_manager/MockIssuesManager.ts index a44bec7..8e5fb86 100644 --- a/test/unittests/front_end/models/issues_manager/MockIssuesManager.ts +++ b/test/unittests/front_end/models/issues_manager/MockIssuesManager.ts
@@ -5,6 +5,8 @@ import * as Common from '../../../../../front_end/core/common/common.js'; import * as IssuesManager from '../../../../../front_end/models/issues_manager/issues_manager.js'; import type {StubIssue} from './StubIssue.js'; +import type * as SDK from '../../../../../front_end/core/sdk/sdk.js'; +import {MockIssuesModel} from './MockIssuesModel.js'; export class MockIssuesManager extends Common.ObjectWrapper.ObjectWrapper { private mockIssues: IssuesManager.Issue.Issue[]; @@ -14,6 +16,9 @@ [IssuesManager.Issue.IssueKind.PageError, 2], ]); + // An empty model to pass along for the IssuesManager.Events.IssueAdded event. + private mockModel = new MockIssuesModel([]) as unknown as SDK.IssuesModel.IssuesModel; + constructor(issues: Iterable<IssuesManager.Issue.Issue>) { super(); this.mockIssues = Array.from(issues); @@ -48,6 +53,7 @@ addIssue(mockIssue: StubIssue) { this.mockIssues.push(mockIssue as IssuesManager.Issue.Issue); - this.dispatchEventToListeners(IssuesManager.IssuesManager.Events.IssueAdded, mockIssue); + this.dispatchEventToListeners( + IssuesManager.IssuesManager.Events.IssueAdded, {issue: mockIssue, issuesModel: this.mockModel}); } }