Commit 5fb3a625 authored by Jian Li's avatar Jian Li Committed by Commit Bot

Create untrusted offline page for content URL with message/rfc822 type

Bug: 831831
Change-Id: If1a36fbec7e73571d7d8c6a921afb3d8fa9b70c3
Reviewed-on: https://chromium-review.googlesource.com/1008635Reviewed-by: default avatarYafei Duan <romax@chromium.org>
Commit-Queue: Jian Li <jianli@chromium.org>
Cr-Commit-Position: refs/heads/master@{#549998}
parent 207f48ca
......@@ -175,8 +175,10 @@ void OfflinePageTabHelper::FinalizeOfflineInfo(
GURL navigated_url = navigation_handle->GetURL();
content::WebContents* web_contents = navigation_handle->GetWebContents();
if (web_contents->GetContentsMimeType() != "multipart/related")
if (web_contents->GetContentsMimeType() != "multipart/related" &&
web_contents->GetContentsMimeType() != "message/rfc822") {
return;
}
if (SchemeIsForUntrustedOfflinePages(navigated_url)) {
// If a MHTML archive is being loaded for file: or content: URL, and we did
......
......@@ -239,7 +239,8 @@ TEST_F(OfflinePageTabHelperTest, UntrustedOfflinePageForFileUrl) {
}
#if defined(OS_ANDROID)
TEST_F(OfflinePageTabHelperTest, UntrustedOfflinePageForContentUrl) {
TEST_F(OfflinePageTabHelperTest,
UntrustedOfflinePageForContentUrlWithMultipartRelatedType) {
CreateNavigationSimulator(kTestContentUrl);
navigation_simulator()->Start();
navigation_simulator()->SetContentsMimeType("multipart/related");
......@@ -251,6 +252,20 @@ TEST_F(OfflinePageTabHelperTest, UntrustedOfflinePageForContentUrl) {
EXPECT_EQ(OfflinePageHeader::Reason::NONE,
tab_helper()->offline_header().reason);
}
TEST_F(OfflinePageTabHelperTest,
UntrustedOfflinePageForContentUrlWithMessageRfc822Type) {
CreateNavigationSimulator(kTestContentUrl);
navigation_simulator()->Start();
navigation_simulator()->SetContentsMimeType("message/rfc822");
navigation_simulator()->Commit();
ASSERT_NE(nullptr, tab_helper()->offline_page());
EXPECT_EQ(OfflinePageTrustedState::UNTRUSTED, tab_helper()->trusted_state());
EXPECT_FALSE(tab_helper()->IsShowingTrustedOfflinePage());
EXPECT_EQ(OfflinePageHeader::Reason::NONE,
tab_helper()->offline_header().reason);
}
#endif
TEST_F(OfflinePageTabHelperTest, TestNotifyIsMhtmlPage) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment