Roll src/third_party/WebKit a05b987:7eb2976 (svn 202510:202511)
[chromium-blink-merge.git] / mojo / shell / test_package_manager.h
blob55377c0bb801707d8d0472cc4463b5ff82222a0d
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef MOJO_SHELL_TEST_PACKAGE_MANAGER_H_
6 #define MOJO_SHELL_TEST_PACKAGE_MANAGER_H_
8 #include <map>
9 #include <string>
11 #include "mojo/shell/package_manager.h"
13 class GURL;
15 namespace mojo {
16 namespace shell {
18 // An implementation of PackageManager used by tests to support content handler
19 // registration for MIME types.
20 class TestPackageManager : public PackageManager {
21 public:
22 TestPackageManager();
23 ~TestPackageManager() override;
25 void RegisterContentHandler(const std::string& mime_type,
26 const GURL& content_handler_url);
28 private:
29 using MimeTypeToURLMap = std::map<std::string, GURL>;
31 // Overridden from PackageManager:
32 void SetApplicationManager(ApplicationManager* manager) override;
33 void FetchRequest(
34 URLRequestPtr request,
35 const Fetcher::FetchCallback& loader_callback) override;
36 bool HandleWithContentHandler(Fetcher* fetcher,
37 const GURL& url,
38 base::TaskRunner* task_runner,
39 URLResponsePtr* new_response,
40 GURL* content_handler_url,
41 std::string* qualifier) override;
43 MimeTypeToURLMap mime_type_to_url_;
45 DISALLOW_COPY_AND_ASSIGN(TestPackageManager);
48 } // namespace shell
49 } // namespace mojo
51 #endif // MOJO_SHELL_TEST_PACKAGE_MANAGER_H_