Bug 1544074 - Remove WS_EX_LAYERED and WS_EX_TRANSPARENT r=mattwoodrow a=pascalc
authorsotaro <sotaro.ikeda.g@gmail.com>
Mon, 15 Apr 2019 01:24:26 +0000
changeset 523196 cd1e0b429eff
parent 523195 904db16056b4
child 523197 5d7984511642
push id11098
push userapavel@mozilla.com
push dateTue, 16 Apr 2019 13:54:52 +0000
treeherdermozilla-beta@75a92a484e17 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmattwoodrow, pascalc
bugs1544074, 1525183
milestone67.0
Bug 1544074 - Remove WS_EX_LAYERED and WS_EX_TRANSPARENT r=mattwoodrow a=pascalc Bug 1525183 imported chromium workaround. But it caused a device specific regression. The change removes WS_EX_LAYERED and WS_EX_TRANSPARENT, but it keeps WS_EX_NOREDIRECTIONBITMAP, since it is necessary for memory usage reduction. Differential Revision: https://phabricator.services.mozilla.com/D27461
widget/windows/WinCompositorWindowThread.cpp
--- a/widget/windows/WinCompositorWindowThread.cpp
+++ b/widget/windows/WinCompositorWindowThread.cpp
@@ -154,18 +154,17 @@ WinCompositorWnds WinCompositorWindowThr
         // as parent window, so instead create it with a temporary placeholder
         // parent. Its parent is set as main window in UI process.
         initialParentWnd =
             ::CreateWindowEx(WS_EX_TOOLWINDOW, kClassNameCompositorInitalParent,
                              nullptr, WS_POPUP | WS_DISABLED, 0, 0, 1, 1,
                              nullptr, 0, GetModuleHandle(nullptr), 0);
 
         compositorWnd = ::CreateWindowEx(
-            WS_EX_NOPARENTNOTIFY | WS_EX_LAYERED | WS_EX_TRANSPARENT |
-                WS_EX_NOREDIRECTIONBITMAP,
+            WS_EX_NOPARENTNOTIFY | WS_EX_NOREDIRECTIONBITMAP,
             kClassNameCompositor, nullptr,
             WS_CHILDWINDOW | WS_DISABLED | WS_VISIBLE, 0, 0, 1, 1,
             initialParentWnd, 0, GetModuleHandle(nullptr), 0);
       });
 
   Loop()->PostTask(runnable.forget());
 
   task.Wait();