/* 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 https://mozilla.org/MPL/2.0/. */

#include "nsISupports.idl"
#include "nsIPrincipal.idl"

webidl BrowsingContext;

[scriptable, uuid(ce3e9659-e311-49fb-b18b-7f27c6659b23)]
interface nsIUserCharacteristicsPageService : nsISupports {

    /*
     * Create the UserCharacteristics about: page as a HiddenFrame
     * and begin the data collection.
     */
    Promise createContentPage(in nsIPrincipal principal);

    /*
     * Called when the UserCharacteristics about: page has been loaded
     * and supplied data back to the actor, which is passed as `data`
     */
    void pageLoaded(in BrowsingContext browsingContext, in jsval data);
};
