No more child windows in Chrome window?

352 views
Skip to first unread message

Don Schmitt

unread,
Aug 5, 2025, 3:26:30 PMAug 5
to chromi...@chromium.org
Chrome 139 introduces a significant breaking change for us.

Our app creates a child HWND in the Chromium main window.

As of Chrome 139 in Windows 11, this is no longer working because of the application of the WS_EX_NOREDIRECTIONBITMAP style to the top-level window.

Of course we can't force all of our users to use --disable-direct-composition.

Can anyone suggest a workaround?

Isn't this a problem for other accessibility tools?


Sahir Vellani

unread,
Aug 5, 2025, 4:17:01 PMAug 5
to Chromium-dev, Don Schmitt
Hi Don, thanks for reaching out! Sorry that this change breaks your app.

I think what will work for you is if the child HWND in your app is converted to a layered window. Windows assigns a redirection bitmap to layered windows behind the scenes. 
You should call `SetLayeredWindowAttributes(window, 0, 255, LWA_ALPHA)` on the child window to make it appear; the "bAlpha" parameter is the one which needs to be set to 255. 

For example,
      SetWindowLong(hwnd, GWL_EXSTYLE, style | WS_EX_LAYERED);
      SetLayeredWindowAttributes(hwnd, 0, 255, LWA_ALPHA);

If your app can run chromium with flags, then as a very temporary solution you can also run chromium with --disable-features=RemoveRedirectionBitmap.

Rafael Cintron

unread,
Aug 5, 2025, 4:36:23 PMAug 5
to Chromium-dev, Sahir Vellani, Don Schmitt
@Don, for my information, can you please describe what your app does and why you need to create a child Window from the Chromium main window?  

donaddon

unread,
Aug 6, 2025, 7:10:44 PMAug 6
to Chromium-dev, Rafael Cintron, Sahir Vellani, Don Schmitt
Thanks Sahir, I hadn't seen your response.

Create with WS_EX_LAYERED fails as does SetWindowLong with WS_EX_LAYERED.  

This child window is the AtlAxWin100 (ATL ActiveX host window).  Which in turn is hosting the WebBrowser control. Even if WS_EX_LAYERED worked, I find it unlikely that it would work correctly with how the MSHTMLuses GDI (and potentially unknown  ActiveX controls).

Rafael Cintron

unread,
Aug 6, 2025, 7:16:45 PMAug 6
to Chromium-dev, donaddon, Rafael Cintron, Sahir Vellani
@Donaddon, the solution Sahir outlined is the same one the Edge browser employs for its builtin IE mode so we're pretty confident it works.  

Would it be possible for you to make a child window (of the Chrome window) that your addon is in control of and parent "AtlAxWin100" to it?  This way, you can set the styles you want without interference. Please double check the correct styles in the Spyxx tool.  

donaddon

unread,
Aug 6, 2025, 8:35:33 PMAug 6
to Chromium-dev, Rafael Cintron, donaddon, Sahir Vellani
I see the IE mode behavior now.  On Windows 11 (only) you are applying WS_EX_LAYERED to the WidgetWin_2 window.  I can try to insert a different child window, but since I don't understand why WS_EX_LAYERED can't be set on the AtlAxWin100 window, this might be a dead end. I'd appreciate it if anyone has ideas, could save me this change and potential time wasting.  And why do you only add it on Windows 11, just to minimize risk?

donaddon

unread,
Aug 7, 2025, 12:42:15 AMAug 7
to Chromium-dev, donaddon, Rafael Cintron, Sahir Vellani
Okay, we got it working. Sahir was essentially right, but it was trickier than just those two calls.  Thanks so much for the help!

Sahir Vellani

unread,
Aug 8, 2025, 1:22:09 PMAug 8
to Chromium-dev, donaddon, Rafael Cintron, Sahir Vellani
Glad to hear!

tiande lu

unread,
Aug 18, 2025, 9:38:03 AMAug 18
to Chromium-dev, Sahir Vellani, donaddon, Rafael Cintron
Hi Don,  I encountered the same problem, Could you introduce how to solve it ?

donaddon

unread,
Aug 18, 2025, 10:36:10 AMAug 18
to Chromium-dev, Sahir Vellani, donaddon, Rafael Cintron
There is an additional problem with this release: We have not been able to reproduce it, but a number of our customers are saying that they now end up in a situation where they cannot type in HTML input boxes.  Like I said, we haven't been able to reproduce it, but it's enough of a trend, that it's definitely a related regression. Does this also sound like something you had to work around with this rendering change?

Rafael Cintron

unread,
Aug 18, 2025, 5:53:33 PMAug 18
to donaddon, Chromium-dev, Sahir Vellani
I have not been able to reproduce this either.  

Other extensions which rely on the Chromium window styles being set a certain way will be broken in a similar manner as yours.   

--Rafael

From: donaddon <donc...@gmail.com>
Sent: Monday, August 18, 2025 7:36 AM
To: Chromium-dev <chromi...@chromium.org>
Cc: Sahir Vellani <Sahir....@microsoft.com>; donaddon <donc...@gmail.com>; Rafael Cintron <Rafael....@microsoft.com>
Subject: [EXTERNAL] Re: No more child windows in Chrome window?
 

Don Schmitt

unread,
Aug 18, 2025, 8:11:34 PMAug 18
to Rafael Cintron, Chromium-dev, Sahir Vellani
Thanks for trying to reproduce it. Just checking if there was other tribal knowledge related to this issue like there was with the WS_EX_LAYERED workaround. I've narrowed it down to an anomaly with destruction of WS_EX_LAYERED windows and activation states. We should be able to fix it, but of course would welcome any guidance in that area.

Reply all
Reply to author
Forward
0 new messages