QUrl QWebFrameProto::baseUrl() const { scriptDeprecated("QWebFrame will not be available in future versions"); QWebFrame *item = qscriptvalue_cast<QWebFrame*>(thisObject()); if (item) return item->baseUrl(); return QUrl(); }
void WebCapture::load(const QUrl &url) { QWebFrame *frame = page_.mainFrame(); frame->load(url); frame->setScrollBarPolicy(Qt::Vertical, Qt::ScrollBarAlwaysOff); frame->setScrollBarPolicy(Qt::Horizontal, Qt::ScrollBarAlwaysOff); if (progress) { progress->setValue(0); if ( progress->isHidden()) progress->setVisible(true); } qDebug()<< frame->baseUrl(); qDebug()<< "loading start"; }
void KWebKitPart::slotMainFrameLoadFinished (bool ok) { if (!ok || !m_doLoadFinishedActions) return; m_doLoadFinishedActions = false; if (!m_emitOpenUrlNotify) { m_emitOpenUrlNotify = true; // Save history once page loading is done. } // If the document contains no <title> tag, then set it to the current url. if (m_webView->title().trimmed().isEmpty()) { // If the document title is empty, then set it to the current url const QUrl url (m_webView->url()); const QString caption (url.toString((QUrl::RemoveQuery|QUrl::RemoveFragment))); emit setWindowCaption(caption); // The urlChanged signal is emitted if and only if the main frame // receives the title of the page so we manually invoke the slot as a // work around here for pages that do not contain it, such as text // documents... slotUrlChanged(url); } QWebFrame* frame = page()->mainFrame(); if (!frame || frame->url() == *globalBlankUrl) return; // Set the favicon specified through the <link> tag... if (WebKitSettings::self()->favIconsEnabled() && !frame->page()->settings()->testAttribute(QWebSettings::PrivateBrowsingEnabled)) { const QWebElement element = frame->findFirstElement(QL1S("head>link[rel=icon], " "head>link[rel=\"shortcut icon\"]")); QUrl shortcutIconUrl; if (!element.isNull()) { shortcutIconUrl = frame->baseUrl().resolved(QUrl(element.attribute("href"))); //kDebug() << "setting favicon to" << shortcutIconUrl; m_browserExtension->setIconUrl(shortcutIconUrl); } } slotFrameLoadFinished(ok); }
void KWebKitPart::slotFrameLoadFinished(bool ok) { QWebFrame* frame = (sender() ? qobject_cast<QWebFrame*>(sender()) : page()->mainFrame()); if (ok) { const QUrl currentUrl (frame->baseUrl().resolved(frame->url())); // kDebug() << "mainframe:" << m_webView->page()->mainFrame() << "frame:" << sender(); // kDebug() << "url:" << frame->url() << "base url:" << frame->baseUrl() << "request url:" << frame->requestedUrl(); if (currentUrl != *globalBlankUrl) { m_hasCachedFormData = false; if (WebKitSettings::self()->isNonPasswordStorableSite(currentUrl.host())) { addWalletStatusBarIcon(); } else { // Attempt to fill the web form... KWebWallet *webWallet = page() ? page()->wallet() : 0; if (webWallet) { webWallet->fillFormData(frame, false); } } } } }
SiteInfo::SiteInfo(WebView* view, QWidget* parent) : QDialog(parent) , ui(new Ui::SiteInfo) , m_certWidget(0) , m_view(view) { setAttribute(Qt::WA_DeleteOnClose); ui->setupUi(this); ui->listWidget->item(0)->setIcon(QIcon::fromTheme("document-properties", QIcon(":/icons/preferences/document-properties.png"))); ui->listWidget->item(1)->setIcon(QIcon::fromTheme("applications-graphics", QIcon(":/icons/preferences/applications-graphics.png"))); ui->listWidget->item(2)->setIcon(QIcon::fromTheme("text-x-sql", QIcon(":/icons/preferences/text-x-sql.png"))); ui->listWidget->item(3)->setIcon(QIcon::fromTheme("dialog-password", QIcon(":/icons/preferences/dialog-password.png"))); ui->listWidget->item(0)->setSelected(true); WebPage* webPage = view->page(); QWebFrame* frame = view->page()->mainFrame(); QString title = view->title(); QSslCertificate cert = webPage->sslCertificate(); m_baseUrl = frame->baseUrl(); //GENERAL ui->heading->setText(QString("<b>%1</b>:").arg(title)); ui->siteAddress->setText(view->url().toString()); ui->sizeLabel->setText(qz_fileSizeToString(webPage->totalBytes())); QString encoding; //Meta QWebElementCollection meta = frame->findAllElements("meta"); for (int i = 0; i < meta.count(); i++) { QWebElement element = meta.at(i); QString content = element.attribute("content"); QString name = element.attribute("name"); if (name.isEmpty()) { name = element.attribute("http-equiv"); } if (!element.attribute("charset").isEmpty()) { encoding = element.attribute("charset"); } if (content.contains(QLatin1String("charset="))) { encoding = content.mid(content.indexOf(QLatin1String("charset=")) + 8); } if (content.isEmpty() || name.isEmpty()) { continue; } QTreeWidgetItem* item = new QTreeWidgetItem(ui->treeTags); item->setText(0, name); item->setText(1, content); ui->treeTags->addTopLevelItem(item); } if (encoding.isEmpty()) { encoding = mApp->webSettings()->defaultTextEncoding(); } ui->encodingLabel->setText(encoding.toUpper()); //MEDIA QWebElementCollection img = frame->findAllElements("img"); for (int i = 0; i < img.count(); i++) { QWebElement element = img.at(i); QString src = element.attribute("src"); QString alt = element.attribute("alt"); if (alt.isEmpty()) { if (src.indexOf(QLatin1Char('/')) == -1) { alt = src; } else { int pos = src.lastIndexOf(QLatin1Char('/')); alt = src.mid(pos); alt.remove(QLatin1Char('/')); } } if (src.isEmpty() || alt.isEmpty()) { continue; } QTreeWidgetItem* item = new QTreeWidgetItem(ui->treeImages); item->setText(0, alt); item->setText(1, src); ui->treeImages->addTopLevelItem(item); } //DATABASES const QList<QWebDatabase> &databases = frame->securityOrigin().databases(); int counter = 0; foreach(const QWebDatabase & b, databases) { QListWidgetItem* item = new QListWidgetItem(ui->databaseList); item->setText(b.displayName()); item->setData(Qt::UserRole + 10, counter); ++counter; }