mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Add new CanZoom/Zoom API (fixes #3284)
Add a simpler CanZoom/Zoom API as an alternative to the more error-prone SetZoomLevel/GetZoomLevel API. Both APIs are now implemented for both runtimes. With the Chrome runtime a zoom notification bubble will be displayed unless CefBrowserSettings.chrome_zoom_bubble is set to STATE_DISABLED. To test: - Run cefclient and select zoom entries from the Tests menu. - chrome: Run cefclient with `--hide-chrome-bubbles` command-line flag to hide the zoom notification bubble.
This commit is contained in:
@@ -160,16 +160,6 @@ void RunDialogWindowTest(CefRefPtr<CefBrowser> browser) {
|
||||
std::move(config));
|
||||
}
|
||||
|
||||
void ModifyZoom(CefRefPtr<CefBrowser> browser, double delta) {
|
||||
if (!CefCurrentlyOn(TID_UI)) {
|
||||
// Execute on the UI thread.
|
||||
CefPostTask(TID_UI, base::BindOnce(&ModifyZoom, browser, delta));
|
||||
return;
|
||||
}
|
||||
|
||||
browser->GetHost()->SetZoomLevel(browser->GetHost()->GetZoomLevel() + delta);
|
||||
}
|
||||
|
||||
const char kPrompt[] = "Prompt.";
|
||||
const char kPromptFPS[] = "FPS";
|
||||
const char kPromptDSF[] = "DSF";
|
||||
@@ -569,13 +559,13 @@ void RunTest(CefRefPtr<CefBrowser> browser, int id) {
|
||||
RunRequestTest(browser);
|
||||
break;
|
||||
case ID_TESTS_ZOOM_IN:
|
||||
ModifyZoom(browser, 0.5);
|
||||
browser->GetHost()->Zoom(CEF_ZOOM_COMMAND_IN);
|
||||
break;
|
||||
case ID_TESTS_ZOOM_OUT:
|
||||
ModifyZoom(browser, -0.5);
|
||||
browser->GetHost()->Zoom(CEF_ZOOM_COMMAND_OUT);
|
||||
break;
|
||||
case ID_TESTS_ZOOM_RESET:
|
||||
browser->GetHost()->SetZoomLevel(0.0);
|
||||
browser->GetHost()->Zoom(CEF_ZOOM_COMMAND_RESET);
|
||||
break;
|
||||
case ID_TESTS_OSR_FPS:
|
||||
PromptFPS(browser);
|
||||
|
Reference in New Issue
Block a user