mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Add zoom support (issue #116).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@167 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
@ -6,6 +6,7 @@
|
||||
#include "cef_context.h"
|
||||
#include "browser_impl.h"
|
||||
#include "browser_webkit_glue.h"
|
||||
#include "browser_zoom_map.h"
|
||||
#include "request_impl.h"
|
||||
#include "stream_impl.h"
|
||||
|
||||
@ -478,6 +479,24 @@ CefString CefBrowserImpl::GetURL(CefRefPtr<CefFrame> frame)
|
||||
return CefString();
|
||||
}
|
||||
|
||||
double CefBrowserImpl::GetZoomLevel()
|
||||
{
|
||||
WebKit::WebFrame* web_frame = GetWebFrame(this->GetMainFrame());
|
||||
|
||||
if(web_frame && web_frame->view())
|
||||
return web_frame->view()->zoomLevel();
|
||||
|
||||
return 0.0;
|
||||
}
|
||||
|
||||
void CefBrowserImpl::SetZoomLevel(double zoomLevel)
|
||||
{
|
||||
CefRefPtr<CefFrame> frame = this->GetMainFrame();
|
||||
frame->AddRef();
|
||||
CefThread::PostTask(CefThread::UI, FROM_HERE, NewRunnableMethod(this,
|
||||
&CefBrowserImpl::UIT_SetZoomLevel, frame.get(), zoomLevel));
|
||||
}
|
||||
|
||||
// static
|
||||
bool CefBrowser::CreateBrowser(CefWindowInfo& windowInfo, bool popup,
|
||||
CefRefPtr<CefHandler> handler,
|
||||
@ -1139,6 +1158,18 @@ void CefBrowserImpl::UIT_NotifyFindStatus(int identifier, int count,
|
||||
}
|
||||
}
|
||||
|
||||
void CefBrowserImpl::UIT_SetZoomLevel(CefFrame* frame, double zoomLevel)
|
||||
{
|
||||
REQUIRE_UIT();
|
||||
WebKit::WebFrame* web_frame = GetWebFrame(frame);
|
||||
|
||||
if(web_frame && web_frame->view()) {
|
||||
web_frame->view()->setZoomLevel(false, zoomLevel);
|
||||
ZoomMap::GetInstance()->set(web_frame->url(), zoomLevel);
|
||||
}
|
||||
|
||||
frame->Release();
|
||||
}
|
||||
|
||||
// CefFrameImpl
|
||||
|
||||
|
Reference in New Issue
Block a user