Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Convert Mshtml COM interfaces to Cswin32 #9972

Merged
merged 11 commits into from
Sep 26, 2023
Merged

Convert Mshtml COM interfaces to Cswin32 #9972

merged 11 commits into from
Sep 26, 2023

Conversation

lonitra
Copy link
Member

@lonitra lonitra commented Sep 21, 2023

Related: #9824
This PR moves a chunk of our Mshtml COM interfaces over to utilizing Cswin32 definition. This PR also:

  • Adds implicit conversations to/from VARIANT_BOOL and bool
  • Adds helper methods for getting FDEX_PROP_FLAGS for properties/methods/fields into IDispatch. These were determined using the same value that runtime uses
  • Add SafeArrayScope + tests to ensure that SAFEARRAYs get destroyed correctly
  • Remove IReflect off of HtmlToClrEventProxy and implement StandardDispatch manually give responses for the properties/methods there + add tests for it
  • Update tests which include utilizing pointers instead of interfaces as a workaround due to bug involving late binding-only interfaces
Microsoft Reviewers: Open in CodeFlow

@lonitra lonitra requested a review from a team as a code owner September 21, 2023 21:11
@ghost ghost assigned lonitra Sep 21, 2023
Copy link
Member

@JeremyKuhne JeremyKuhne left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work!!

@lonitra lonitra merged commit bbe3f45 into dotnet:main Sep 26, 2023
@lonitra lonitra deleted the mshtml branch September 26, 2023 22:49
@ghost ghost locked as resolved and limited conversation to collaborators Oct 27, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants