diff --git a/src/core/url_request_context_getter_qt.cpp b/src/core/url_request_context_getter_qt.cpp
index 6422a0228bfe110046459e29266bd299f8d4a390..e6314039aa0eec99fd8c886ef879f85d96d6b8b6 100644
--- a/src/core/url_request_context_getter_qt.cpp
+++ b/src/core/url_request_context_getter_qt.cpp
@@ -537,13 +537,16 @@ void URLRequestContextGetterQt::generateJobFactory()
     std::unique_ptr<net::URLRequestJobFactoryImpl> jobFactory(new net::URLRequestJobFactoryImpl());
 
     {
-        // Chromium has transferred a few protocol handlers to us, only pick blob: and chrome: and ignore the rest.
+        // Chromium has transferred a few protocol handlers to us, only pick blob:, chrome: and filesystem:.
         content::ProtocolHandlerMap::iterator it = m_protocolHandlers.find(url::kBlobScheme);
         Q_ASSERT(it != m_protocolHandlers.end());
         jobFactory->SetProtocolHandler(it->first, std::unique_ptr<net::URLRequestJobFactory::ProtocolHandler>(it->second.release()));
         it = m_protocolHandlers.find(content::kChromeUIScheme);
         Q_ASSERT(it != m_protocolHandlers.end());
         jobFactory->SetProtocolHandler(it->first, std::unique_ptr<net::URLRequestJobFactory::ProtocolHandler>(it->second.release()));
+        it = m_protocolHandlers.find(url::kFileSystemScheme);
+        Q_ASSERT(it != m_protocolHandlers.end());
+        jobFactory->SetProtocolHandler(it->first, std::unique_ptr<net::URLRequestJobFactory::ProtocolHandler>(it->second.release()));
         m_protocolHandlers.clear();
     }