Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(465)

Unified Diff: components/nacl/renderer/progress_event.h

Issue 270453004: Pepper: Clean up ProgressEvent logic. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/nacl/renderer/progress_event.h
diff --git a/components/nacl/renderer/progress_event.h b/components/nacl/renderer/progress_event.h
new file mode 100644
index 0000000000000000000000000000000000000000..15c6a727527ca49a70a1c0d384a4eec28f584f0a
--- /dev/null
+++ b/components/nacl/renderer/progress_event.h
@@ -0,0 +1,53 @@
+// Copyright 2014 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.
+
+#ifndef COMPONENTS_NACL_RENDERER_NEXE_PROGRESS_EVENT_H_
+#define COMPONENTS_NACL_RENDERER_NEXE_PROGRESS_EVENT_H_
+
+#include <string>
+
+#include "ppapi/c/pp_instance.h"
+#include "ppapi/c/private/ppb_nacl_private.h"
+
+namespace nacl {
+
+// See http://www.w3.org/TR/progress-events/ for more details on progress
+// events.
+struct ProgressEvent {
+ explicit ProgressEvent(PP_NaClEventType event_type_param)
+ : event_type(event_type_param),
+ length_is_computable(false),
+ loaded_bytes(0),
+ total_bytes(0) {
+ }
+
+ ProgressEvent(PP_NaClEventType event_type, const std::string& resource_url,
+ bool length_is_computable,
+ uint64_t loaded_bytes, uint64_t total_bytes)
dmichael (off chromium) 2014/05/08 16:19:02 nit: for declarations & definitions, each param sh
teravest 2014/05/08 16:42:03 Done.
+ : event_type(event_type),
dmichael (off chromium) 2014/05/08 16:19:02 nit: for clarity, I prefer if the param names are
teravest 2014/05/08 16:42:03 Done.
+ resource_url(resource_url),
+ length_is_computable(length_is_computable),
+ loaded_bytes(loaded_bytes),
+ total_bytes(total_bytes) {
+ }
+
+ PP_NaClEventType event_type;
+ std::string resource_url;
+ bool length_is_computable;
+ uint64_t loaded_bytes;
+ uint64_t total_bytes;
+};
+
+// Dispatches a progress event to the DOM frame corresponding to the specified
+// plugin instance.
+void DispatchProgressEvent(PP_Instance instance, const ProgressEvent& event);
dmichael (off chromium) 2014/05/08 16:19:02 If we're not using this one anywhere outside progr
teravest 2014/05/08 16:42:03 I think it's reasonable to provide this interface;
dmichael (off chromium) 2014/05/08 16:49:11 Two reasons not to: 1) We're not using it. 2) Usin
+
+// Like DispatchProgressEvent, but posts a task to do the actual work. Provided
+// as a convenience since this is a very common usage pattern.
+void PostDispatchProgressEvent(PP_Instance instance,
dmichael (off chromium) 2014/05/08 16:19:02 optional suggestion: I think making this a static
teravest 2014/05/08 16:42:03 It should be easy enough to find from the include
+ const ProgressEvent& event);
+
+} // namespace nacl
+
+#endif // COMPONENTS_NACL_RENDERER_NEXE_PROGRESS_EVENT_H_

Powered by Google App Engine
This is Rietveld 408576698