Home | History | Annotate | Download | only in trusted
      1 /* Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2  * Use of this source code is governed by a BSD-style license that can be
      3  * found in the LICENSE file.
      4  */
      5 
      6 /* URL loader trusted interfaces. */
      7 
      8 [generate_thunk]
      9 
     10 label Chrome {
     11   M14 = 0.3
     12 };
     13 
     14 /**
     15  * Callback that indicates the status of the download and upload for the
     16  * given URLLoader resource.
     17  */
     18 typedef void PP_URLLoaderTrusted_StatusCallback(
     19       [in] PP_Instance pp_instance,
     20       [in] PP_Resource pp_resource,
     21       [in] int64_t bytes_sent,
     22       [in] int64_t total_bytes_to_be_sent,
     23       [in] int64_t bytes_received,
     24       [in] int64_t total_bytes_to_be_received);
     25 
     26 /* Available only to trusted implementations. */
     27 interface PPB_URLLoaderTrusted {
     28   /**
     29    * Grant this URLLoader the capability to make unrestricted cross-origin
     30    * requests.
     31    */
     32   void GrantUniversalAccess([in] PP_Resource loader);
     33 
     34   /**
     35    * Registers that the given function will be called when the upload or
     36    * downloaded byte count has changed. This is not exposed on the untrusted
     37    * interface because it can be quite chatty and encourages people to write
     38    * feedback UIs that update as frequently as the progress updates.
     39    *
     40    * The other serious gotcha with this callback is that the callback must not
     41    * mutate the URL loader or cause it to be destroyed.
     42    *
     43    * However, the proxy layer needs this information to push to the other
     44    * process, so we expose it here. Only one callback can be set per URL
     45    * Loader. Setting to a NULL callback will disable it.
     46    */
     47   void RegisterStatusCallback(
     48       [in] PP_Resource loader,
     49       [in] PP_URLLoaderTrusted_StatusCallback cb);
     50 };
     51 
     52