| // Copyright 2014 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. | 
 |  | 
 | #ifndef CONTENT_TEST_TEST_NAVIGATION_URL_LOADER_FACTORY_H_ | 
 | #define CONTENT_TEST_TEST_NAVIGATION_URL_LOADER_FACTORY_H_ | 
 |  | 
 | #include <memory> | 
 |  | 
 | #include "base/macros.h" | 
 | #include "content/browser/loader/navigation_url_loader_factory.h" | 
 |  | 
 | namespace content { | 
 |  | 
 | // PlzNavigate | 
 | // Manages creation of the NavigationURLLoaders; when registered, all created | 
 | // NavigationURLLoaderss will be TestNavigationURLLoaderss. This automatically | 
 | // registers itself when it goes in scope, and unregisters itself when it goes | 
 | // out of scope. Since you can't have more than one factory registered at a | 
 | // time, you can only have one of these objects at a time. | 
 | class TestNavigationURLLoaderFactory : public NavigationURLLoaderFactory { | 
 |  public: | 
 |   TestNavigationURLLoaderFactory(); | 
 |   ~TestNavigationURLLoaderFactory() override; | 
 |  | 
 |   // TestNavigationURLLoaderFactory implementation. | 
 |   std::unique_ptr<NavigationURLLoader> CreateLoader( | 
 |       ResourceContext* resource_context, | 
 |       StoragePartition* storage_partition, | 
 |       std::unique_ptr<NavigationRequestInfo> request_info, | 
 |       std::unique_ptr<NavigationUIData> navigation_ui_data, | 
 |       ServiceWorkerNavigationHandle* service_worker_handle, | 
 |       NavigationURLLoaderDelegate* delegate) override; | 
 |  | 
 |  private: | 
 |   DISALLOW_COPY_AND_ASSIGN(TestNavigationURLLoaderFactory); | 
 | }; | 
 |  | 
 | }  // namespace content | 
 |  | 
 | #endif  // CONTENT_TEST_TEST_NAVIGATION_URL_LOADER_FACTORY_H_ |