mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Support JavaScript window.moveTo/By() and resizeTo/By() (fixes #698)
Adds new CefDisplayHandler::OnContentsBoundsChange and CefDisplayHandler::GetRootWindowScreenRect callbacks. cefclient: Implement the above callbacks and call CefBrowserHost::NotifyScreenInfoChanged when the root window bounds change. cefclient: osr: Use real screen bounds by default. Pass `--fake-screen-bounds` for the old default behavior. Load https://tests/window in cefclient for additional implementation details and usage examples.
This commit is contained in:
@ -13,25 +13,21 @@
|
||||
namespace client::window_test {
|
||||
|
||||
// Implement this interface for different platforms. Methods will be called on
|
||||
// the browser process UI thread unless otherwise indicated.
|
||||
// the browser process main thread unless otherwise indicated.
|
||||
class WindowTestRunner {
|
||||
public:
|
||||
virtual ~WindowTestRunner() = default;
|
||||
|
||||
virtual void SetPos(CefRefPtr<CefBrowser> browser,
|
||||
int x,
|
||||
int y,
|
||||
int width,
|
||||
int height) = 0;
|
||||
void SetPos(CefRefPtr<CefBrowser> browser,
|
||||
int x,
|
||||
int y,
|
||||
int width,
|
||||
int height);
|
||||
virtual void Minimize(CefRefPtr<CefBrowser> browser) = 0;
|
||||
virtual void Maximize(CefRefPtr<CefBrowser> browser) = 0;
|
||||
virtual void Restore(CefRefPtr<CefBrowser> browser) = 0;
|
||||
virtual void Fullscreen(CefRefPtr<CefBrowser> browser);
|
||||
|
||||
// Fit |window| inside |display|. Coordinates are relative to the upper-left
|
||||
// corner of the display.
|
||||
static void ModifyBounds(const CefRect& display, CefRect& window);
|
||||
|
||||
virtual void SetTitleBarHeight(CefRefPtr<CefBrowser> browser,
|
||||
const std::optional<float>& height);
|
||||
};
|
||||
|
Reference in New Issue
Block a user