MicrosoftEdge / MicrosoftEdge/WebView2Feedback
[Feature Request] TypeScript definitions for window.chrome.webview
@Lakshmisha-KS is already working on this.
Since Feb 12, 2025.
- Dominant language
- PowerShell
- Stars
- 526
- Forks
- 67
- PR merge metrics
- No merged PRs in 30d
Description
Describe the feature/enhancement you need
Global TypeScript Interface for window.chrome.webview
The scenario/use case where you would use this feature
When developing using Typescript while using WebView2
Refer to the discussion for further context.
Discussed in https://github.com/MicrosoftEdge/WebView2Feedback/discussions/4028
Originally posted by danbahrami March 7, 2023
Hi, I'm looking through the WebView2 docs and can't find any API reference for window.chrome.webview. Specifically I'm looking to define a global TypeScript interface for window.chrome.webview.postMessage and window.chrome.webview.addEventListener.
I have a couple of questions:
1. What's the method for removing event listeners?
I can't tell if window.chrome.addEventListener returns an unsubscribe callback or if there's an adjacent removeEventListener that behaves the same as adding/removing DOM events.
2. Do you have a recommendation for a global TypeScript definition?
Here's what I've got so far but I'm not sure if it's accurate
declare global {
interface Window {
chrome?: {
webview?: {
addEventListener: (
message: string,
handler: (event: any) => void, // not sure yet what the event type should be
) => void;
postMessage: (message: string) => void;
};
};
}
}
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.