MicrosoftEdge / MicrosoftEdge/WebView2Feedback

[Problem/Bug]: Host object's methods can't be called in case IDispatch has no type info

Open
#4,803 0 comments 0 reactions 1 assignee View on GitHub

@david-risney is already working on this.

Since Sep 11, 2024.

bug
Dominant language
PowerShell
Stars
526
Forks
67
PR merge metrics
No merged PRs in 30d

Description

What happened?

Steps to reproduce:

  1. Open WebView2APISample sample in Visual Studio.
  2. Modify HostObjectSample::GetTypeInfoCount and HostObjectSample::GetTypeInfo to just return E_NOTIMPL.
  3. Launch application, go to Scenario | Host Objects and try to Invoke Method.

Result: HostObjectSample::Invoke is invoked with DISPATCH_PROPERTYGET instead of DISPATCH_METHOD. Thus the method can't be called.

WebView2 knows that it's calling a method and should use DISPATCH_METHOD accordingly. It should not require IDispatch implementations to provide ITypeInfo. It works fine in Internet Explorer's IWebBrowser2.

Importance

Blocking. My app's basic functions are not working due to this issue.

Runtime Channel

Stable release (WebView2 Runtime)

Runtime Version

120.0.2210.61

SDK Version

No response

Framework

Win32

Operating System

Windows 10

OS Version

No response

Repro steps

Repro steps are above.

Repros in Edge Browser

No, issue does not reproduce in the corresponding Edge version

Regression

No, this never worked

Last working version (if regression)

No response

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.