void PIM_Handler::pageLoadFinished() { WebPage* page = qobject_cast<WebPage*>(sender()); if (!page) { return; } if (!m_loaded) { loadSettings(); } const QWebElement document = page->mainFrame()->documentElement(); const QWebElementCollection elements = document.findAll("input[type=\"text\"]"); foreach (QWebElement element, elements) { const QString name = element.attribute("name"); if (name.isEmpty()) { continue; } PI_Type match = nameMatch(name); if (match != PI_Invalid) { element.setStyleProperty("-webkit-appearance", "none"); element.setStyleProperty("-webkit-box-shadow", "inset 0 0 2px 1px #EEE000"); } } }
void WebAPI::setWebView( WebView *view ) { WebPage *page = view->page(); frame = page->mainFrame(); attachObject(); connect( frame, SIGNAL(javaScriptWindowObjectCleared()), this, SLOT(attachObject()) ); }
void WebProcess::downloadRequest(uint64_t downloadID, uint64_t initiatingPageID, const ResourceRequest& request) { WebPage* initiatingPage = initiatingPageID ? webPage(initiatingPageID) : 0; ResourceRequest requestWithOriginalURL = request; if (initiatingPage) initiatingPage->mainFrame()->loader()->setOriginalURLForDownloadRequest(requestWithOriginalURL); DownloadManager::shared().startDownload(downloadID, initiatingPage, requestWithOriginalURL); }
void AutoFillModel::post(const QNetworkRequest &request, const QByteArray &outgoingData) { //Dont save in private browsing if (mApp->webSettings()->testAttribute(QWebSettings::PrivateBrowsingEnabled)) { return; } m_lastOutgoingData = outgoingData; QVariant v = request.attribute((QNetworkRequest::Attribute)(QNetworkRequest::User + 100)); WebPage* webPage = static_cast<WebPage*>(v.value<void*>()); if (!webPage) { return; } WebView* webView = qobject_cast<WebView*>(webPage->view()); if (!webView) { return; } v = request.attribute((QNetworkRequest::Attribute)(QNetworkRequest::User + 101)); QWebPage::NavigationType type = (QWebPage::NavigationType)v.toInt(); if (type != QWebPage::NavigationTypeFormSubmitted) { return; } QString usernameName; QString usernameValue; QString passwordName; QString passwordValue; QUrl siteUrl = webPage->url(); if (!isStoringEnabled(siteUrl)) { return; } QWebElementCollection allForms; // All form elements on page QWebElement foundForm; // Sent form element QList<QWebFrame*> frames; frames.append(webPage->mainFrame()); // Find all form elements while (!frames.isEmpty()) { QWebFrame* frame = frames.takeFirst(); allForms.append(frame->findAllElements("form")); frames += frame->childFrames(); } foreach(const QWebElement & formElement, allForms) { foreach(const QWebElement &inputElement, formElement.findAll("input[type=\"password\"]")) { passwordName = inputElement.attribute("name"); passwordValue = getValueFromData(outgoingData, inputElement); if (!passwordValue.isEmpty() && dataContains(outgoingData, passwordName)) { foundForm = formElement; break; } } if (!foundForm.isNull()) { break; } }
void AdBlockIcon::createMenu(QMenu* menu) { if (!menu) { menu = qobject_cast<QMenu*>(sender()); if (!menu) { return; } } menu->clear(); AdBlockManager* manager = AdBlockManager::instance(); AdBlockCustomList* customList = manager->customList(); WebPage* page = qobject_cast<WebPage*>(m_window->currentNewsTab->webView_->page()); const QUrl pageUrl = page->mainFrame()->url(); menu->addAction(tr("Show AdBlock &Settings"), manager, SLOT(showDialog())); menu->addSeparator(); if (!pageUrl.host().isEmpty() && m_enabled && manager->canRunOnScheme(pageUrl.scheme())) { const QString host = pageUrl.host().contains(QLatin1String("www.")) ? pageUrl.host().mid(4) : pageUrl.host(); const QString hostFilter = QString("@@||%1^$document").arg(host); const QString pageFilter = QString("@@|%1|$document").arg(pageUrl.toString()); QAction* act = menu->addAction(tr("Disable on %1").arg(host)); act->setCheckable(true); act->setChecked(customList->containsFilter(hostFilter)); act->setData(hostFilter); connect(act, SIGNAL(triggered()), this, SLOT(toggleCustomFilter())); act = menu->addAction(tr("Disable only on this page")); act->setCheckable(true); act->setChecked(customList->containsFilter(pageFilter)); act->setData(pageFilter); connect(act, SIGNAL(triggered()), this, SLOT(toggleCustomFilter())); menu->addSeparator(); } if (!m_blockedPopups.isEmpty()) { menu->addAction(tr("Blocked Popup Windows"))->setEnabled(false); for (int i = 0; i < m_blockedPopups.count(); i++) { const QPair<AdBlockRule*, QUrl> &pair = m_blockedPopups.at(i); QString address = pair.second.toString().right(55); QString actionText = tr("%1 with (%2)").arg(address, pair.first->filter()).replace(QLatin1Char('&'), QLatin1String("&&")); QAction* action = menu->addAction(actionText, manager, SLOT(showRule())); action->setData(QVariant::fromValue((void*)pair.first)); } } menu->addSeparator(); QVector<WebPage::AdBlockedEntry> entries = page->adBlockedEntries(); if (entries.isEmpty()) { menu->addAction(tr("No content blocked"))->setEnabled(false); } else { menu->addAction(tr("Blocked URL (AdBlock Rule) - click to edit rule"))->setEnabled(false); foreach (const WebPage::AdBlockedEntry &entry, entries) { QString address = entry.url.toString().right(55); QString actionText = tr("%1 with (%2)").arg(address, entry.rule->filter()).replace(QLatin1Char('&'), QLatin1String("&&")); QAction* action = menu->addAction(actionText, manager, SLOT(showRule())); action->setData(QVariant::fromValue((void*)entry.rule)); } }