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:
@ -817,9 +817,30 @@ void CefBrowserHostBase::NotifyMoveOrResizeStarted() {
|
||||
if (platform_delegate_) {
|
||||
platform_delegate_->NotifyMoveOrResizeStarted();
|
||||
}
|
||||
#else
|
||||
LOG(WARNING)
|
||||
<< "Incorrect usage of CefBrowserHost::NotifyMoveOrResizeStarted";
|
||||
#endif
|
||||
}
|
||||
|
||||
void CefBrowserHostBase::NotifyScreenInfoChanged() {
|
||||
if (!CEF_CURRENTLY_ON_UIT()) {
|
||||
CEF_POST_TASK(
|
||||
CEF_UIT,
|
||||
base::BindOnce(&CefBrowserHostBase::NotifyScreenInfoChanged, this));
|
||||
return;
|
||||
}
|
||||
|
||||
if (platform_delegate_) {
|
||||
if (IsWindowless() || platform_delegate_->HasExternalParent()) {
|
||||
platform_delegate_->NotifyScreenInfoChanged();
|
||||
} else {
|
||||
LOG(WARNING)
|
||||
<< "Incorrect usage of CefBrowserHost::NotifyScreenInfoChanged";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool CefBrowserHostBase::IsFullscreen() {
|
||||
if (!CEF_CURRENTLY_ON_UIT()) {
|
||||
DCHECK(false) << "called on invalid thread";
|
||||
|
Reference in New Issue
Block a user