xref: /aosp_15_r20/external/cronet/components/nacl/renderer/progress_event.h (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker // Copyright 2014 The Chromium Authors
2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
3*6777b538SAndroid Build Coastguard Worker // found in the LICENSE file.
4*6777b538SAndroid Build Coastguard Worker 
5*6777b538SAndroid Build Coastguard Worker #ifndef COMPONENTS_NACL_RENDERER_PROGRESS_EVENT_H_
6*6777b538SAndroid Build Coastguard Worker #define COMPONENTS_NACL_RENDERER_PROGRESS_EVENT_H_
7*6777b538SAndroid Build Coastguard Worker 
8*6777b538SAndroid Build Coastguard Worker #include <stdint.h>
9*6777b538SAndroid Build Coastguard Worker 
10*6777b538SAndroid Build Coastguard Worker #include <string>
11*6777b538SAndroid Build Coastguard Worker 
12*6777b538SAndroid Build Coastguard Worker #include "components/nacl/renderer/ppb_nacl_private.h"
13*6777b538SAndroid Build Coastguard Worker #include "ppapi/c/pp_instance.h"
14*6777b538SAndroid Build Coastguard Worker 
15*6777b538SAndroid Build Coastguard Worker namespace nacl {
16*6777b538SAndroid Build Coastguard Worker 
17*6777b538SAndroid Build Coastguard Worker // See http://www.w3.org/TR/progress-events/ for more details on progress
18*6777b538SAndroid Build Coastguard Worker // events.
19*6777b538SAndroid Build Coastguard Worker struct ProgressEvent {
ProgressEventProgressEvent20*6777b538SAndroid Build Coastguard Worker   explicit ProgressEvent(PP_NaClEventType event_type_param)
21*6777b538SAndroid Build Coastguard Worker       : event_type(event_type_param),
22*6777b538SAndroid Build Coastguard Worker         length_is_computable(false),
23*6777b538SAndroid Build Coastguard Worker         loaded_bytes(0),
24*6777b538SAndroid Build Coastguard Worker         total_bytes(0) {
25*6777b538SAndroid Build Coastguard Worker   }
26*6777b538SAndroid Build Coastguard Worker 
ProgressEventProgressEvent27*6777b538SAndroid Build Coastguard Worker   ProgressEvent(PP_NaClEventType event_type_param,
28*6777b538SAndroid Build Coastguard Worker                 const std::string& resource_url_param,
29*6777b538SAndroid Build Coastguard Worker                 bool length_is_computable_param,
30*6777b538SAndroid Build Coastguard Worker                 uint64_t loaded_bytes_param,
31*6777b538SAndroid Build Coastguard Worker                 uint64_t total_bytes_param)
32*6777b538SAndroid Build Coastguard Worker       : event_type(event_type_param),
33*6777b538SAndroid Build Coastguard Worker         resource_url(resource_url_param),
34*6777b538SAndroid Build Coastguard Worker         length_is_computable(length_is_computable_param),
35*6777b538SAndroid Build Coastguard Worker         loaded_bytes(loaded_bytes_param),
36*6777b538SAndroid Build Coastguard Worker         total_bytes(total_bytes_param) {
37*6777b538SAndroid Build Coastguard Worker   }
38*6777b538SAndroid Build Coastguard Worker 
39*6777b538SAndroid Build Coastguard Worker   PP_NaClEventType event_type;
40*6777b538SAndroid Build Coastguard Worker   std::string resource_url;
41*6777b538SAndroid Build Coastguard Worker   bool length_is_computable;
42*6777b538SAndroid Build Coastguard Worker   uint64_t loaded_bytes;
43*6777b538SAndroid Build Coastguard Worker   uint64_t total_bytes;
44*6777b538SAndroid Build Coastguard Worker };
45*6777b538SAndroid Build Coastguard Worker 
46*6777b538SAndroid Build Coastguard Worker // Dispatches a progress event to the DOM frame corresponding to the specified
47*6777b538SAndroid Build Coastguard Worker // plugin instance.
48*6777b538SAndroid Build Coastguard Worker // This posts a task to the main thread to perform the actual dispatch, since
49*6777b538SAndroid Build Coastguard Worker // it's usually intended for progress events to be dispatched after all other
50*6777b538SAndroid Build Coastguard Worker // state changes are handled.
51*6777b538SAndroid Build Coastguard Worker void DispatchProgressEvent(PP_Instance instance, const ProgressEvent& event);
52*6777b538SAndroid Build Coastguard Worker 
53*6777b538SAndroid Build Coastguard Worker }  // namespace nacl
54*6777b538SAndroid Build Coastguard Worker 
55*6777b538SAndroid Build Coastguard Worker #endif  // COMPONENTS_NACL_RENDERER_PROGRESS_EVENT_H_
56