/* 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. */ /* URL loader trusted interfaces. */ [generate_thunk] label Chrome { M14 = 0.3 }; /** * Callback that indicates the status of the download and upload for the * given URLLoader resource. */ typedef void PP_URLLoaderTrusted_StatusCallback( [in] PP_Instance pp_instance, [in] PP_Resource pp_resource, [in] int64_t bytes_sent, [in] int64_t total_bytes_to_be_sent, [in] int64_t bytes_received, [in] int64_t total_bytes_to_be_received); /* Available only to trusted implementations. */ interface PPB_URLLoaderTrusted { /** * Grant this URLLoader the capability to make unrestricted cross-origin * requests. */ void GrantUniversalAccess([in] 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); };