From 06ea8e899e48f1f2f396b70e63fae369f2f23232 Mon Sep 17 00:00:00 2001 From: Kristian Monsen Date: Mon, 28 Jun 2010 16:42:48 +0100 Subject: Merge WebKit at r61871: Initial merge by git. Change-Id: I6cff43abca9cc4782e088a469ad4f03f166a65d5 --- WebKit/qt/Api/qwebframe.cpp | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'WebKit/qt/Api/qwebframe.cpp') diff --git a/WebKit/qt/Api/qwebframe.cpp b/WebKit/qt/Api/qwebframe.cpp index 3eba058..c42cfa3 100644 --- a/WebKit/qt/Api/qwebframe.cpp +++ b/WebKit/qt/Api/qwebframe.cpp @@ -71,6 +71,8 @@ #include "qwebpage_p.h" #include "qwebsecurityorigin.h" #include "qwebsecurityorigin_p.h" +#include "qwebscriptworld.h" +#include "qwebscriptworld_p.h" #include "runtime_object.h" #include "runtime_root.h" #include "wtf/HashMap.h" @@ -1272,8 +1274,8 @@ void QWebFrame::print(QPrinter *printer) const if (!painter.begin(printer)) return; - const qreal zoomFactorX = printer->logicalDpiX() / qt_defaultDpi(); - const qreal zoomFactorY = printer->logicalDpiY() / qt_defaultDpi(); + const qreal zoomFactorX = (qreal)printer->logicalDpiX() / qt_defaultDpi(); + const qreal zoomFactorY = (qreal)printer->logicalDpiY() / qt_defaultDpi(); PrintContext printContext(d->frame); float pageHeight = 0; @@ -1376,6 +1378,22 @@ QVariant QWebFrame::evaluateJavaScript(const QString& scriptSource) return rc; } +QVariant QWebFrame::evaluateScriptInIsolatedWorld(QWebScriptWorld* scriptWorld, const QString& scriptSource) +{ + ScriptController *proxy = d->frame->script(); + QVariant rc; + + if (proxy) { + JSC::JSValue v = proxy->executeScriptInWorld(scriptWorld->world(), scriptSource, true).jsValue(); + if (!d->frame) // In case the script removed our frame from the page. + return QString(); + int distance = 0; + rc = JSC::Bindings::convertValueToQVariant(proxy->globalObject(mainThreadNormalWorld())->globalExec(), v, QMetaType::Void, &distance); + } + return rc; +} + + /*! \since 4.5 -- cgit v1.1