Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(104)

Unified Diff: chrome/browser/captive_portal/captive_portal_detector.h

Issue 242483003: Move CaptivePortalDetector to src/components/captive_portal (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/captive_portal/captive_portal_detector.h
diff --git a/chrome/browser/captive_portal/captive_portal_detector.h b/chrome/browser/captive_portal/captive_portal_detector.h
deleted file mode 100644
index aa72294d621d6a3798740f2ca6b2d7f28a36cc65..0000000000000000000000000000000000000000
--- a/chrome/browser/captive_portal/captive_portal_detector.h
+++ /dev/null
@@ -1,118 +0,0 @@
-// Copyright (c) 2012 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_BROWSER_CAPTIVE_PORTAL_CAPTIVE_PORTAL_DETECTOR_H_
-#define CHROME_BROWSER_CAPTIVE_PORTAL_CAPTIVE_PORTAL_DETECTOR_H_
-
-#include "base/basictypes.h"
-#include "base/callback.h"
-#include "base/compiler_specific.h"
-#include "base/memory/ref_counted.h"
-#include "base/memory/scoped_ptr.h"
-#include "base/threading/non_thread_safe.h"
-#include "base/time/time.h"
-#include "net/url_request/url_fetcher.h"
-#include "net/url_request/url_fetcher_delegate.h"
-#include "net/url_request/url_request_context_getter.h"
-
-class GURL;
-
-namespace captive_portal {
-
-// Possible results of an attempt to detect a captive portal.
-enum Result {
- // There's a confirmed connection to the Internet.
- RESULT_INTERNET_CONNECTED,
- // The URL request received a network or HTTP error, or a non-HTTP response.
- RESULT_NO_RESPONSE,
- // The URL request apparently encountered a captive portal. It received a
- // a valid HTTP response with a 2xx other than 204, 3xx, or 511 status code.
- RESULT_BEHIND_CAPTIVE_PORTAL,
- RESULT_COUNT
-};
-
-class CaptivePortalDetector : public net::URLFetcherDelegate,
- public base::NonThreadSafe {
- public:
- struct Results {
- Results()
- : result(RESULT_NO_RESPONSE),
- response_code(net::URLFetcher::RESPONSE_CODE_INVALID) {
- }
-
- Result result;
- int response_code;
- base::TimeDelta retry_after_delta;
- GURL landing_url;
- };
-
- typedef base::Callback<void(const Results& results)> DetectionCallback;
-
- // The test URL. When connected to the Internet, it should return a
- // blank page with a 204 status code. When behind a captive portal,
- // requests for this URL should get an HTTP redirect or a login
- // page. When neither is true, no server should respond to requests
- // for this URL.
- static const char kDefaultURL[];
-
- explicit CaptivePortalDetector(
- const scoped_refptr<net::URLRequestContextGetter>& request_context);
- virtual ~CaptivePortalDetector();
-
- static std::string CaptivePortalResultToString(Result result);
-
- // Triggers a check for a captive portal. After completion, runs the
- // |callback|.
- void DetectCaptivePortal(const GURL& url, const DetectionCallback& callback);
-
- // Cancels captive portal check.
- void Cancel();
-
- private:
- friend class CaptivePortalDetectorTestBase;
-
- // net::URLFetcherDelegate:
- virtual void OnURLFetchComplete(const net::URLFetcher* source) OVERRIDE;
-
- // Takes a net::URLFetcher that has finished trying to retrieve the
- // test URL, and fills a Results struct based on its result. If the
- // response is a 503 with a Retry-After header, |retry_after| field
- // of |results| is populated accordingly. Otherwise, it's set to
- // base::TimeDelta().
- void GetCaptivePortalResultFromResponse(const net::URLFetcher* url_fetcher,
- Results* results) const;
-
- // Returns the current time. Used only when determining time until a
- // Retry-After date.
- base::Time GetCurrentTime() const;
-
- // Returns true if a captive portal check is currently running.
- bool FetchingURL() const;
-
- // Sets current test time. Used by unit tests.
- void set_time_for_testing(const base::Time& time) {
- time_for_testing_ = time;
- }
-
- // Advances current test time. Used by unit tests.
- void advance_time_for_testing(const base::TimeDelta& delta) {
- time_for_testing_ += delta;
- }
-
- // URL request context.
- scoped_refptr<net::URLRequestContextGetter> request_context_;
-
- DetectionCallback detection_callback_;
-
- scoped_ptr<net::URLFetcher> url_fetcher_;
-
- // Test time used by unit tests.
- base::Time time_for_testing_;
-
- DISALLOW_COPY_AND_ASSIGN(CaptivePortalDetector);
-};
-
-} // namespace captive_portal
-
-#endif // CHROME_BROWSER_CAPTIVE_PORTAL_CAPTIVE_PORTAL_DETECTOR_H_
« no previous file with comments | « chrome/browser/captive_portal/captive_portal_browsertest.cc ('k') | chrome/browser/captive_portal/captive_portal_detector.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698