blob: aa50b0b2ca1bb4b6d35f768ede3d8d6e84d33579 [file] [log] [blame]
// Copyright 2019 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 COMPONENTS_CAPTIVE_PORTAL_CONTENT_CAPTIVE_PORTAL_URL_LOADER_THROTTLE_H_
#define COMPONENTS_CAPTIVE_PORTAL_CONTENT_CAPTIVE_PORTAL_URL_LOADER_THROTTLE_H_
#include "content/public/browser/web_contents.h"
#include "third_party/blink/public/common/loader/url_loader_throttle.h"
// CaptivePortalURLLoaderThrottle is used in the browser process to
// disable secure DNS for requests made from WebContents that belong to a
// window that was created for captive portal resolution.
class CaptivePortalURLLoaderThrottle : public blink::URLLoaderThrottle {
public:
explicit CaptivePortalURLLoaderThrottle(content::WebContents* web_contents);
private:
// blink::URLLoaderThrottle implementation.
void WillStartRequest(network::ResourceRequest* request,
bool* defer) override;
// Whether the WebContents associated with this throttle belong to a window
// that was created for captive portal resolution.
bool is_captive_portal_window_;
};
#endif // COMPONENTS_CAPTIVE_PORTAL_CONTENT_CAPTIVE_PORTAL_URL_LOADER_THROTTLE_H_