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 LocationCompleter::loadRequest(const LoadRequest &request) { closePopup(); // Show url in locationbar emit showCompletion(request.url().toString(), false); // Load request emit loadRequested(request); }
void LocationBar::requestLoadUrl() { const LoadRequest req = createLoadRequest(); const QString urlString = convertUrlToText(req.url()); m_completer->closePopup(); m_webView->setFocus(); if (urlString != text()) { setText(urlString); } m_webView->userLoadAction(req); }
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 LocationBar::loadRequest(const LoadRequest &request) { if (!m_webView->webTab()->isRestored()) { return; } const QString urlString = convertUrlToText(request.url()); m_completer->closePopup(); m_webView->setFocus(); if (urlString != text()) { setText(urlString); } m_webView->userLoadAction(request); }
void WebView::searchSelectedTextInBackgroundTab() { SearchEngine engine = mApp->searchEnginesManager()->activeEngine(); if (QAction* act = qobject_cast<QAction*>(sender())) { if (act->data().isValid()) { engine = act->data().value<SearchEngine>(); } } LoadRequest req = mApp->searchEnginesManager()->searchResult(engine, selectedText()); QNetworkRequest r = req.networkRequest(); r.setRawHeader("Referer", req.url().toEncoded()); r.setRawHeader("X-QupZilla-UserLoadAction", QByteArray("1")); req.setNetworkRequest(r); loadInNewTab(req, Qz::NT_NotSelectedTab); }