void WebView::load(const QNetworkRequest &request, QNetworkAccessManager::Operation operation, const QByteArray &body) { const QUrl reqUrl = request.url(); if (reqUrl.scheme() == QLatin1String("javascript")) { // Getting scriptSource from PercentEncoding to properly load bookmarklets // First check if url is percent encoded (let's just look for space) QString scriptSource; if (reqUrl.path().trimmed().contains(' ')) { scriptSource = reqUrl.toString().mid(11); } else { scriptSource = QUrl::fromPercentEncoding(reqUrl.toString().mid(11).toUtf8()); } page()->mainFrame()->evaluateJavaScript(scriptSource); return; } if (reqUrl.isEmpty() || isUrlValid(reqUrl)) { QWebView::load(request, operation, body); m_aboutToLoadUrl = reqUrl; return; } SearchEnginesManager::SearchResult res = mApp->searchEnginesManager()->searchResult(reqUrl.toString()); const QUrl searchUrl = res.request.url(); QWebView::load(res.request, res.operation, res.data); m_aboutToLoadUrl = searchUrl; }
void WebView::load(const LoadRequest &request) { const QUrl reqUrl = request.url(); if (reqUrl.scheme() == QL1S("javascript")) { const QString scriptSource = reqUrl.toString().mid(11); // Is the javascript source percent encoded or not? // Looking for % character in source should work in most cases if (scriptSource.contains(QL1C('%'))) page()->mainFrame()->evaluateJavaScript(QUrl::fromPercentEncoding(scriptSource.toUtf8())); else page()->mainFrame()->evaluateJavaScript(scriptSource); return; } if (reqUrl.isEmpty() || isUrlValid(reqUrl)) { request.load(this); m_aboutToLoadUrl = reqUrl; return; } const LoadRequest searchRequest = mApp->searchEnginesManager()->searchResult(reqUrl.toString()); m_aboutToLoadUrl = searchRequest.url(); searchRequest.load(this); }
void WebView::load(const LoadRequest &request) { const QUrl reqUrl = request.url(); if (reqUrl.isEmpty()) return; if (reqUrl.scheme() == QL1S("javascript")) { const QString scriptSource = reqUrl.toString().mid(11); // Is the javascript source percent encoded or not? // Looking for % character in source should work in most cases if (scriptSource.contains(QL1C('%'))) page()->runJavaScript(QUrl::fromPercentEncoding(scriptSource.toUtf8())); else page()->runJavaScript(scriptSource); return; } if (isUrlValid(reqUrl)) { loadRequest(request); return; } // Make sure to correctly load hosts like localhost (eg. without the dot) if (!reqUrl.isEmpty() && reqUrl.scheme().isEmpty() && !QzTools::containsSpace(reqUrl.path()) && // See #1622 !reqUrl.path().contains(QL1C('.')) ) { QUrl u(QSL("http://") + reqUrl.path()); if (u.isValid()) { // This is blocking... QHostInfo info = QHostInfo::fromName(u.path()); if (info.error() == QHostInfo::NoError) { LoadRequest req = request; req.setUrl(u); loadRequest(req); return; } } } if (qzSettings->searchFromAddressBar) { const LoadRequest searchRequest = mApp->searchEnginesManager()->searchResult(request.urlString()); loadRequest(searchRequest); } }
void WebView::load(const QUrl &url) { if (url.scheme() == "javascript") { // Getting scriptSource from PercentEncoding to properly load bookmarklets QString scriptSource = QUrl::fromPercentEncoding(url.toString().mid(11).toUtf8()); page()->mainFrame()->evaluateJavaScript(scriptSource); return; } if (isUrlValid(url)) { QWebView::load(url); emit urlChanged(url); m_aboutToLoadUrl = url; return; } const QUrl &searchUrl = mApp->searchEnginesManager()->searchUrl(url.toString()); QWebView::load(searchUrl); emit urlChanged(searchUrl); m_aboutToLoadUrl = searchUrl; }
void WebView::load(const QNetworkRequest &request, QNetworkAccessManager::Operation operation, const QByteArray &body) { const QUrl &reqUrl = request.url(); if (reqUrl.scheme() == QLatin1String("javascript")) { // Getting scriptSource from PercentEncoding to properly load bookmarklets QString scriptSource = QUrl::fromPercentEncoding(reqUrl.toString().mid(11).toUtf8()); page()->mainFrame()->evaluateJavaScript(scriptSource); return; } if (reqUrl.isEmpty() || isUrlValid(reqUrl)) { QWebView::load(request, operation, body); emit urlChanged(reqUrl); m_aboutToLoadUrl = reqUrl; return; } const QUrl &searchUrl = mApp->searchEnginesManager()->searchUrl(reqUrl.toString()); QWebView::load(searchUrl); emit urlChanged(searchUrl); m_aboutToLoadUrl = searchUrl; }