URL MediaSourceManagerImpl::GetUrlWithMediaContext(const URL& url) { // Don't override anything but the default context for now. if (url.GetContextId() != 0) return url; // Create new context manager if it doesn't exists already. if (!m_url_context_id) { m_url_context_id = urlManager->GetNewContextID(); OpFileFolder media_cache_folder; if (OpStatus::IsError(g_folder_manager->AddFolder(OPFILE_CACHE_FOLDER, UNI_L("media"), &media_cache_folder))) { OP_ASSERT(!"Failed to create folder for dedicated media cache. Falling back to default"); return url; } Context_Manager_Multimedia::CreateManager(m_url_context_id, media_cache_folder, media_cache_folder, FALSE, PrefsCollectionNetwork::MediaCacheSize); } // Create new url with the media context. const OpStringC tmp_url_str = url.GetAttribute(URL::KUniName_With_Fragment_Username_Password_NOT_FOR_UI, URL::KNoRedirect); return g_url_api->GetURL(tmp_url_str, m_url_context_id); }