Jacek Caban (@jacek) commented about dlls/mshtml/htmlattr.c:
BSTR name; nsresult nsres; HRESULT hres; + cpp_bool b;
TRACE("(%p)->(%p)\n", This, p);
+ if(This->node.nsnode) { + nsres = nsIDOMAttr_GetSpecified((nsIDOMAttr*)This->node.nsnode, &b);
Please avoid casts like this. The usual approach for similar node types is to store a member like `nsIDOMAttr *dom_attr` in `HTMLDOMAttribute`. This change would also use better patch splitting. For instance, you could first introduce the `dom_attr` member and incrementally use it in places like this. Once those are updated, you could convert the object into a fully-fledged MSHTML node. Also, those changes are not currently covered by tests. We could probably run `test_attr` from `dom.c` in IE11 or IE9 mode. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/6971#note_89952