mirror of
https://invent.kde.org/network/falkon.git
synced 2024-12-20 02:36:34 +01:00
LocationBar: Also whitelist data: scheme for loading urls
This commit is contained in:
parent
ae3aebc06c
commit
deca7f7399
@ -74,9 +74,9 @@ void LocationBarTest::loadActionBasicTest()
|
||||
action = LocationBar::loadAction("not url with spaces");
|
||||
QCOMPARE(action.type, LocationBar::LoadAction::Search);
|
||||
|
||||
action = LocationBar::loadAction("qupzilla:about");
|
||||
action = LocationBar::loadAction("falkon:about");
|
||||
QCOMPARE(action.type, LocationBar::LoadAction::Url);
|
||||
QCOMPARE(action.loadRequest.url(), QUrl("qupzilla:about"));
|
||||
QCOMPARE(action.loadRequest.url(), QUrl("falkon:about"));
|
||||
}
|
||||
|
||||
void LocationBarTest::loadActionBookmarksTest()
|
||||
@ -152,4 +152,25 @@ void LocationBarTest::loadAction_kdebug389491()
|
||||
QCOMPARE(action.loadRequest.url(), QUrl("http://website.com?search=searchterm and another"));
|
||||
}
|
||||
|
||||
void LocationBarTest::loadActionSpecialSchemesTest()
|
||||
{
|
||||
LocationBar::LoadAction action;
|
||||
|
||||
action = LocationBar::loadAction("data:image/png;base64,xxxxx");
|
||||
QCOMPARE(action.type, LocationBar::LoadAction::Url);
|
||||
QCOMPARE(action.loadRequest.url(), QUrl("data:image/png;base64,xxxxx"));
|
||||
|
||||
action = LocationBar::loadAction("falkon:about");
|
||||
QCOMPARE(action.type, LocationBar::LoadAction::Url);
|
||||
QCOMPARE(action.loadRequest.url(), QUrl("falkon:about"));
|
||||
|
||||
action = LocationBar::loadAction("file:test.html");
|
||||
QCOMPARE(action.type, LocationBar::LoadAction::Url);
|
||||
QCOMPARE(action.loadRequest.url(), QUrl("file:test.html"));
|
||||
|
||||
action = LocationBar::loadAction("about:blank");
|
||||
QCOMPARE(action.type, LocationBar::LoadAction::Url);
|
||||
QCOMPARE(action.loadRequest.url(), QUrl("about:blank"));
|
||||
}
|
||||
|
||||
FALKONTEST_MAIN(LocationBarTest)
|
||||
|
@ -32,4 +32,5 @@ private slots:
|
||||
void loadActionBookmarksTest();
|
||||
void loadActionSearchTest();
|
||||
void loadAction_kdebug389491();
|
||||
void loadActionSpecialSchemesTest();
|
||||
};
|
||||
|
@ -269,7 +269,7 @@ LocationBar::LoadAction LocationBar::loadAction(const QString &text)
|
||||
// Only allow whitelisted schemes
|
||||
const QSet<QString> whitelistedSchemes = {
|
||||
QSL("http"), QSL("https"), QSL("ftp"), QSL("file"),
|
||||
QSL("about"), QSL("qupzilla")
|
||||
QSL("data"), QSL("about"), QSL("falkon")
|
||||
};
|
||||
if (whitelistedSchemes.contains(guessedUrl.scheme())) {
|
||||
action.type = LoadAction::Url;
|
||||
|
Loading…
Reference in New Issue
Block a user