| // Copyright 2019 The Chromium Authors. All rights reserved. | 
 | // Use of this source code is governed by a BSD-style license that can be | 
 | // found in the LICENSE file. | 
 |  | 
 | #include "chrome/browser/web_applications/test/test_file_handler_manager.h" | 
 |  | 
 | namespace web_app { | 
 |  | 
 | TestFileHandlerManager::TestFileHandlerManager() | 
 |     : web_app::FileHandlerManager(nullptr) {} | 
 |  | 
 | TestFileHandlerManager::~TestFileHandlerManager() = default; | 
 |  | 
 | const std::vector<apps::FileHandlerInfo>* | 
 | TestFileHandlerManager::GetFileHandlers(const AppId& app_id) { | 
 |   if (!base::Contains(file_handlers_, app_id)) | 
 |     return nullptr; | 
 |  | 
 |   return &file_handlers_[app_id]; | 
 | } | 
 |  | 
 | void TestFileHandlerManager::InstallFileHandler( | 
 |     const web_app::AppId& app_id, | 
 |     const GURL& action, | 
 |     std::vector<std::string> accepts) { | 
 |   if (!base::Contains(file_handlers_, app_id)) | 
 |     file_handlers_[app_id] = std::vector<apps::FileHandlerInfo>(); | 
 |  | 
 |   apps::FileHandlerInfo info; | 
 |   info.id = action.spec(); | 
 |   info.verb = apps::file_handler_verbs::kOpenWith; | 
 |  | 
 |   for (const auto& accept : accepts) { | 
 |     if (accept[0] == '.') | 
 |       info.extensions.insert(accept.substr(1)); | 
 |     else | 
 |       info.types.insert(accept); | 
 |   } | 
 |  | 
 |   file_handlers_[app_id].push_back(info); | 
 | } | 
 |  | 
 | }  // namespace web_app |