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

Unified Diff: ppapi/c/dev/pp_message_event_dev.h

Issue 6538028: A proposal for an initial postMessage interface. This will allow JavaScript ... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 10 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
« no previous file with comments | « no previous file | ppapi/c/ppb_instance.h » ('j') | ppapi/c/ppp_instance.h » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ppapi/c/dev/pp_message_event_dev.h
===================================================================
--- ppapi/c/dev/pp_message_event_dev.h (revision 0)
+++ ppapi/c/dev/pp_message_event_dev.h (revision 0)
@@ -0,0 +1,65 @@
+/* Copyright (c) 2011 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 PPAPI_C_DEV_PP_MESSAGE_EVENT_DEV_H_
+#define PPAPI_C_DEV_PP_MESSAGE_EVENT_DEV_H_
+
+#include "ppapi/c/pp_macros.h"
+#include "ppapi/c/pp_var.h"
+
+/**
+ * PP_MessageEvent_Dev defines a PPAPI version of MessageEvent, as defined
+ * in:
+ * http://dev.w3.org/html5/postmsg/#event-definitions
+ * Note that PPAPI does not currently support @a lastEventId or @a ports.
+ */
+struct PP_MessageEvent_Dev {
+ /** @a data represents the contents of the message. Currently, it can be an
+ * instrinsic type or string (but not structured data such as an object or
Mark Seaborn 2011/02/17 19:18:47 "instrinsic" -> "intrinsic" Does "intrinsic type
dmichael(do not use this one) 2011/02/17 20:07:04 I agree, it's not. But the postMessage spec allow
dmichael(do not use this one) 2011/02/17 22:18:22 I reworded it.
+ * array).
+ * DESIGN ISSUE: I want to support structured data and the structured
darin (slow to review) 2011/02/17 19:20:52 SGTM2
+ * clone algorithm in the future. I believe that will
+ * require adding a new type for PP_Var, which is perhaps a
+ * tree structure encompassing the object, or a serialized
+ * blob. In the latter case, the wire format becomes part
+ * of the PPAPI interface. In the former case, the wire
+ * format is more hidden but still needs to be carefully
+ * managed by the proxy code to maintain backwards
+ * compatibility. This does not need to be resolved now.
+ */
+ struct PP_Var data;
Mark Seaborn 2011/02/17 19:18:47 I thought the purpose of this async messaging was
dmichael(do not use this one) 2011/02/17 20:07:04 The proposal is more about getting rid of PPB_Var,
+
+ /** @a origin is a UTF string containing the origin of the message. It is
+ * strongly recommended that message handlers check @a origin before doing
Mark Seaborn 2011/02/17 19:18:47 This is contradictory. On the one hand you say th
dmichael(do not use this one) 2011/02/17 20:07:04 PP_MessageEvent_Dev is based around the spec for M
+ * any processing of the message data, to ensure it was received from the
+ * expected @a origin.
+ * DESIGN ISSUE: There was discussion of omitting this parameter. For now,
darin (slow to review) 2011/02/17 19:20:52 OK, yeah... While NaCl has a same-origin restrict
dmichael(do not use this one) 2011/02/17 20:07:04 Ah, thanks for pointing that out!
+ * there is no way to send messages to other origins or
+ * receive messages from other origins, so this is arguably
+ * not necessary.
+ *
+ * I think we can provide it anyway for now. That frees us
+ * up to relax that restriction in the future without changing
+ * this structure. It also makes this structure a little more
+ * familiar to people used to the JavaScript postMessage.
+ */
+ struct PP_Var origin;
+
+ /** @a source is a reference to the WindowObject that sent this message.
+ * DESIGN ISSUE: Part of me originally wanted to yank out the 'object id'
+ * type for PP_Var eventually. But... maybe it's okay to
+ * keep the ID if we can only ever use it asynchronously. I
+ * think in this case, source fills the role of a WindowProxy
+ * and allows us to respond to the same iframe/window that
+ * invoked postMessage on us. Currently, I'm not showing an
+ * interface that would allow you to post a message to just
+ * any PP_Var (only to instances), so we could omit this. But
+ * like origin, we can provide it now easily and possibly make
+ * use of it later.
+ */
+ struct PP_Var source;
darin (slow to review) 2011/02/17 19:20:52 it is an interesting idea to include this here. i
brettw 2011/02/17 20:40:01 Yeah, I would probably just delete this.
dmichael(do not use this one) 2011/02/17 22:18:22 Done.
+};
+
+#endif /* PPAPI_C_DEV_PP_MESSAGE_EVENT_DEV_H_ */
+
Property changes on: ppapi/c/dev/pp_message_event_dev.h
___________________________________________________________________
Added: svn:eol-style
+ LF
« no previous file with comments | « no previous file | ppapi/c/ppb_instance.h » ('j') | ppapi/c/ppp_instance.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698