Select Git revision
ip_utils.cpp
-
Sébastien Blin authored
Change-Id: I2dd97518218a5a777ddde2ce8d23e2d5dde4dcf0
Sébastien Blin authoredChange-Id: I2dd97518218a5a777ddde2ce8d23e2d5dde4dcf0
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
messagewebview.cpp 15.28 KiB
/***************************************************************************
* Copyright (C) 2017-2019 by Savoir-faire Linux *
* Author: Andreas Traczyk <andreas.traczyk@savoirfairelinux.com> *
* Author: Alexandre Viau <alexandre.viau@savoirfairelinux.com> *
* Author: Sébastien Blin <sebastien.blin@savoirfairelinux.com> *
* Author: Hugo Lefeuvre <hugo.lefeuvre@savoirfairelinux.com> *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
**************************************************************************/
#include "messagewebview.h"
#include <QScrollBar>
#include <QMouseEvent>
#include <QDebug>
#include <QMenu>
#include <QDesktopServices>
#include <QFileDialog>
#include <QWebEnginePage>
#include <QWebEngineScript>
#include <QWebEngineScriptCollection>
#include <QWebEngineSettings>
#include <QWebChannel>
#include <QTimer>
#include <ciso646>
#include <fstream>
#include "utils.h"
#include "webchathelpers.h"
#include "messagewebpage.h"
#include "lrcinstance.h"
MessageWebView::MessageWebView(QWidget *parent)
: QWebEngineView(parent)
{
setPage(new MessageWebPage());
settings()->setAttribute(QWebEngineSettings::JavascriptEnabled, true);
settings()->setAttribute(QWebEngineSettings::JavascriptCanOpenWindows, true);
settings()->setAttribute(QWebEngineSettings::ScrollAnimatorEnabled, false);
settings()->setAttribute(QWebEngineSettings::ErrorPageEnabled, false);
settings()->setAttribute(QWebEngineSettings::PluginsEnabled, false);
settings()->setAttribute(QWebEngineSettings::FullScreenSupportEnabled, false);
settings()->setAttribute(QWebEngineSettings::ScreenCaptureEnabled, false);
settings()->setAttribute(QWebEngineSettings::LinksIncludedInFocusChain, false);
settings()->setAttribute(QWebEngineSettings::LocalStorageEnabled, false);
settings()->setAttribute(QWebEngineSettings::AllowRunningInsecureContent, true);
settings()->setAttribute(QWebEngineSettings::LocalContentCanAccessRemoteUrls, true);
settings()->setAttribute(QWebEngineSettings::XSSAuditingEnabled, false);
settings()->setAttribute(QWebEngineSettings::LocalContentCanAccessFileUrls, true);
settings()->setFontSize(QWebEngineSettings::MinimumFontSize, 2);
setContextMenuPolicy(Qt::ContextMenuPolicy::NoContextMenu);
jsBridge_ = new PrivateBridging(this);
webChannel_ = new QWebChannel(page());
webChannel_->registerObject(QStringLiteral("jsbridge"), jsBridge_);