RootWindowWin does not fill up all the client area in another process's parent window in mac/fusion high dpi

Issue #2061 wontfix
scof ined created an issue

1.What steps will reproduce the problem?

---Use mac pro retina and start win10 in VMware Fusion;

---set win10 dpi to 1.5;

---Write a mfc window program and start up as main process;

---Start CefClient as child process and make RootWindowWin as child window of window in main process

    1).use pipe to transfer parent window handle to CefClient process;
    2).in RootWindowWin::Init,with_osr always is false
    3).in RootWindowWin::CreateRootWindow,use ::SetParent(hwnd_,wnd_from_main_process)

2.What is the expected output? What do you see instead? expected: RootWindowWin fill up all client area of its parent window in main process

instead 1).RootWindowWin fill up 1/1.5 of client area of its parent window in main process 2). but windows event is ok,click point is ok 3).filled_width/client_width = 1/dpi_scale
4).filled_height/client_height = 1/dpi_scale 5.other area is black

in normal display or in win7,all things goes right except in mac/vmware fusion.

3.What version of the product are you using? On what operating system? mac pro retina/vmware fution/win10 information from chrome://version in cefclient window: CEF 3.2623.1395.g3034273 Chromium 49.0.2623.87

4.Does the problem reproduce with the cefclient or cefsimple sample application at the same version? How about with a newer or older version? no 5.Does the problem reproduce with Google Chrome at the same version? How about with a newer or older version? no

dpi_problem.PNG

window hierarchical relationship as follows: window 0007167A "AfxWnd120u" (main process) window 000B0520 "cefbrowser" (cef process) window 000816d4"Back"Button(cef process) window 000717B8"Forward"Button(cef process) window 00261884"Reload"Button(cef process) window 00050356"Stop"Button(cef process) window 000903A8"chrome://version/"Edit(cef process) window 000D03B2""CefBrowserWindow(cef process) window 000B051C""Chrome_WidgetWin_0(cef process) window 003F168E"Chrome Legacy Window"Chrome_RenderWidgetHostHWND(cef process)

Comments (4)

  1. Marshall Greenblatt

    Looks like a DPI awareness issue with your application. Make sure both your main application and the cefclient application configure the same DPI settings.

  2. Log in to comment