blob: 4fa1436ccb642defbceaaca0b0d20584247014b7 [file] [log] [blame]
// Copyright 2017 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 CHROME_COMMON_PRERENDER_UTIL_H_
#define CHROME_COMMON_PRERENDER_UTIL_H_
#include <string>
#include "chrome/common/prerender_types.h"
class GURL;
namespace prerender {
extern const char kFollowOnlyWhenPrerenderShown[];
// Returns true iff the scheme of the URL given is valid for prerendering.
bool DoesURLHaveValidScheme(const GURL& url);
// Returns true iff the scheme of the subresource URL given is valid for
// prerendering.
bool DoesSubresourceURLHaveValidScheme(const GURL& url);
// Returns true iff the method given is valid for prerendering.
bool IsValidHttpMethod(PrerenderMode prerender_mode, const std::string& method);
std::string ComposeHistogramName(const std::string& prefix_type,
const std::string& name);
// Called when a NoStatePrefetch request has received a response (including
// redirects). May be called several times per resource, in case of redirects.
void RecordPrefetchResponseReceived(const std::string& histogram_prefix,
bool is_main_resource,
bool is_redirect,
bool is_no_store);
// Called when a NoStatePrefetch resource has been loaded. This is called only
// once per resource, when all redirects have been resolved.
void RecordPrefetchRedirectCount(const std::string& histogram_prefix,
bool is_main_resource,
int redirect_count);
} // namespace prerender
#endif // CHROME_COMMON_PRERENDER_UTIL_H_