1 // Copyright 2014 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.
5 #ifndef COMPONENTS_NACL_RENDERER_NEXE_PROGRESS_EVENT_H_
6 #define COMPONENTS_NACL_RENDERER_NEXE_PROGRESS_EVENT_H_
10 #include "components/nacl/renderer/ppb_nacl_private.h"
11 #include "ppapi/c/pp_instance.h"
15 // See http://www.w3.org/TR/progress-events/ for more details on progress
17 struct ProgressEvent
{
18 explicit ProgressEvent(PP_NaClEventType event_type_param
)
19 : event_type(event_type_param
),
20 length_is_computable(false),
25 ProgressEvent(PP_NaClEventType event_type_param
,
26 const std::string
& resource_url_param
,
27 bool length_is_computable_param
,
28 uint64_t loaded_bytes_param
,
29 uint64_t total_bytes_param
)
30 : event_type(event_type_param
),
31 resource_url(resource_url_param
),
32 length_is_computable(length_is_computable_param
),
33 loaded_bytes(loaded_bytes_param
),
34 total_bytes(total_bytes_param
) {
37 PP_NaClEventType event_type
;
38 std::string resource_url
;
39 bool length_is_computable
;
40 uint64_t loaded_bytes
;
44 // Dispatches a progress event to the DOM frame corresponding to the specified
46 // This posts a task to the main thread to perform the actual dispatch, since
47 // it's usually intended for progress events to be dispatched after all other
48 // state changes are handled.
49 void DispatchProgressEvent(PP_Instance instance
, const ProgressEvent
& event
);
53 #endif // COMPONENTS_NACL_RENDERER_NEXE_PROGRESS_EVENT_H_