/* Copyright (c) 2011 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. */ /* URL loader trusted interfaces. */ /* Callback that indicates the status of the download and upload for the * given URLLoader resource. */ typedef void PP_URLLoaderTrusted_StatusCallback( PP_Instance pp_instance, PP_Resource pp_resource, int64_t bytes_sent, int64_t total_bytes_to_be_sent, int64_t bytes_received, int64_t total_bytes_to_be_received); /* Available only to trusted implementations. */ interface PPB_URLLoaderTrusted_0_3 { /* Grant this URLLoader the capability to make unrestricted cross-origin * requests. */ void GrantUniversalAccess(PP_Resource loader); /* Registers that the given function will be called when the upload or * downloaded byte count has changed. This is not exposed on the untrusted * interface because it can be quite chatty and encourages people to write * feedback UIs that update as frequently as the progress updates. * * The other serious gotcha with this callback is that the callback must not * mutate the URL loader or cause it to be destroyed. * * However, the proxy layer needs this information to push to the other * process, so we expose it here. Only one callback can be set per URL * Loader. Setting to a NULL callback will disable it. */ void RegisterStatusCallback( [in] PP_Resource loader, [in] PP_URLLoaderTrusted_StatusCallback cb); };