123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- /* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
- #include "nsISupports.idl"
- [scriptable, uuid(b5fd5629-d04c-4138-9529-9311f291ecd4)]
- interface nsICaptivePortalServiceCallback : nsISupports
- {
- /**
- * Invoke callbacks after captive portal detection finished.
- */
- void complete(in bool success, in nsresult error);
- };
- /**
- * Service used for captive portal detection.
- * The service is only active in the main process. It is also available in the
- * content process, but only to mirror the captive portal state from the main
- * process.
- */
- [scriptable, uuid(bdbe0555-fc3d-4f7b-9205-c309ceb2d641)]
- interface nsICaptivePortalService : nsISupports
- {
- const long UNKNOWN = 0;
- const long NOT_CAPTIVE = 1;
- const long UNLOCKED_PORTAL = 2;
- const long LOCKED_PORTAL = 3;
- /**
- * Called from XPCOM to trigger a captive portal recheck.
- * A network request will only be performed if no other checks are currently
- * ongoing.
- * Will not do anything if called in the content process.
- */
- void recheckCaptivePortal();
- /**
- * Returns the state of the captive portal.
- */
- readonly attribute long state;
- /**
- * Returns the time difference between NOW and the last time a request was
- * completed in milliseconds.
- */
- readonly attribute unsigned long long lastChecked;
- };
- %{C++
- /**
- * This observer notification will be emitted when the captive portal state
- * changes. After receiving it, the ContentParent will send an IPC message
- * to the ContentChild, which will set the state in the captive portal service
- * in the child.
- */
- #define NS_IPC_CAPTIVE_PORTAL_SET_STATE "ipc:network:captive-portal-set-state"
- %}
|