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_
11 #include "mojo/shell/package_manager.h"
18 // An implementation of PackageManager used by tests to support content handler
19 // registration for MIME types.
20 class TestPackageManager
: public PackageManager
{
23 ~TestPackageManager() override
;
25 void RegisterContentHandler(const std::string
& mime_type
,
26 const GURL
& content_handler_url
);
29 using MimeTypeToURLMap
= std::map
<std::string
, GURL
>;
31 // Overridden from PackageManager:
32 void SetApplicationManager(ApplicationManager
* manager
) override
;
34 URLRequestPtr request
,
35 const Fetcher::FetchCallback
& loader_callback
) override
;
36 bool HandleWithContentHandler(Fetcher
* fetcher
,
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
);
51 #endif // MOJO_SHELL_TEST_PACKAGE_MANAGER_H_