Add CefZoomHandler interface to support custom zoom handling (issue #733).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@824 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
Marshall Greenblatt
2012-10-01 20:35:35 +00:00
parent a3ac7b446f
commit 7a0ff637f0
16 changed files with 493 additions and 2 deletions

View File

@ -1465,8 +1465,16 @@ void CefBrowserImpl::UIT_SetZoomLevel(double zoomLevel) {
REQUIRE_UIT();
WebKit::WebFrame* web_frame = UIT_GetMainWebFrame();
if (web_frame) {
GURL url = web_frame->document().url();
web_frame->view()->setZoomLevel(false, zoomLevel);
ZoomMap::GetInstance()->set(web_frame->document().url(), zoomLevel);
bool didHandleZoom = false;
if (client_.get()) {
CefRefPtr<CefZoomHandler> handler = client_->GetZoomHandler();
if (handler.get())
didHandleZoom = handler->OnSetZoomLevel(this, url.spec(), zoomLevel);
}
if (!didHandleZoom)
ZoomMap::GetInstance()->set(url, zoomLevel);
set_zoom_level(zoomLevel);
}
}