| /* 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); |
| }; |
| |