// Copyright 2017 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef COMPONENTS_DOWNLOAD_PUBLIC_BACKGROUND_SERVICE_NAVIGATION_MONITOR_H_ #define COMPONENTS_DOWNLOAD_PUBLIC_BACKGROUND_SERVICE_NAVIGATION_MONITOR_H_ #include "base/time/time.h" #include "components/keyed_service/core/keyed_service.h" namespace download { // Enum used to describe navigation event from WebContentsObserver. enum class NavigationEvent { … }; // NavigationMonitor receives and forwards navigation events from any web // contents to download service. // // NavigationMonitor outlives any WebContentsObserver that send navigation // events to it. // // NavigationMonitor does NOT has ownership of WebContentsObserver, and is // essentially a decoupled singleton that glues download service with // WebContents and WebContentsObserver. class NavigationMonitor : public KeyedService { … }; } // namespace download #endif // COMPONENTS_DOWNLOAD_PUBLIC_BACKGROUND_SERVICE_NAVIGATION_MONITOR_H_