// Copyright 2012 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_NO_STATE_PREFETCH_BROWSER_NO_STATE_PREFETCH_HANDLE_H_ #define COMPONENTS_NO_STATE_PREFETCH_BROWSER_NO_STATE_PREFETCH_HANDLE_H_ #include "base/memory/raw_ptr.h" #include "base/memory/weak_ptr.h" #include "components/no_state_prefetch/browser/no_state_prefetch_manager.h" #include "url/gurl.h" namespace prerender { class NoStatePrefetchContents; // A class representing a running prefetch to a client of the // NoStatePrefetchManager. Methods on NoStatePrefetchManager which start // prefetch return a caller-owned NoStatePrefetchHandle* to the client (or // NULL if they are unable to start prefetch). Calls on the handle of prefetch // that is not running at no-ops. Destroying a handle before prefetch starts // will prevent it from ever starting. Destroying a handle while prefetch is // running will stop the prefetch, without making any calls to the observer. class NoStatePrefetchHandle : public NoStatePrefetchContents::Observer { … }; } // namespace prerender #endif // COMPONENTS_NO_STATE_PREFETCH_BROWSER_NO_STATE_PREFETCH_HANDLE_H_