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

Side by Side Diff: native_client_sdk/doc_generated/devguide/coding/message-system.html

Issue 254033002: [NaCl SDK Docs] Remove links to developers.google.com (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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 {{+bindTo:partials.standard_nacl_article}} 1 {{+bindTo:partials.standard_nacl_article}}
2 2
3 <section id="messaging-system"> 3 <section id="messaging-system">
4 <span id="message-system"></span><h1 id="messaging-system"><span id="message-sys tem"></span>Messaging System</h1> 4 <span id="message-system"></span><h1 id="messaging-system"><span id="message-sys tem"></span>Messaging System</h1>
5 <div class="contents local" id="contents" style="display: none"> 5 <div class="contents local" id="contents" style="display: none">
6 <ul class="small-gap"> 6 <ul class="small-gap">
7 <li><a class="reference internal" href="#reference-information" id="id2">Referen ce information</a></li> 7 <li><a class="reference internal" href="#reference-information" id="id2">Referen ce information</a></li>
8 <li><p class="first"><a class="reference internal" href="#introduction-to-the-me ssaging-system" id="id3">Introduction to the messaging system</a></p> 8 <li><p class="first"><a class="reference internal" href="#introduction-to-the-me ssaging-system" id="id3">Introduction to the messaging system</a></p>
9 <ul class="small-gap"> 9 <ul class="small-gap">
10 <li><a class="reference internal" href="#design-of-the-messaging-system" id="id4 ">Design of the messaging system</a></li> 10 <li><a class="reference internal" href="#design-of-the-messaging-system" id="id4 ">Design of the messaging system</a></li>
(...skipping 30 matching lines...) Expand all
41 <aside class="note"> 41 <aside class="note">
42 The &#8220;Hello, World&#8221; example for getting started with NaCl is used her e to 42 The &#8220;Hello, World&#8221; example for getting started with NaCl is used her e to
43 illustrate basic programming techniques. You can find this code in 43 illustrate basic programming techniques. You can find this code in
44 the <code>/getting_started/part2</code> directory in the Native Client SDK downl oad. 44 the <code>/getting_started/part2</code> directory in the Native Client SDK downl oad.
45 </aside> 45 </aside>
46 <section id="reference-information"> 46 <section id="reference-information">
47 <h2 id="reference-information">Reference information</h2> 47 <h2 id="reference-information">Reference information</h2>
48 <p>For reference information related to the Pepper messaging API, see the 48 <p>For reference information related to the Pepper messaging API, see the
49 following documentation:</p> 49 following documentation:</p>
50 <ul class="small-gap"> 50 <ul class="small-gap">
51 <li><a class="reference external" href="https://developers.google.com/native-cli ent/peppercpp/classpp_1_1_instance">pp::Instance class</a> HandleMessage(), Post Message())</li> 51 <li><a class="reference external" href="/native-client/pepper_stable/cpp/classpp _1_1_instance">pp::Instance class</a>
52 <li><a class="reference external" href="https://developers.google.com/native-cli ent/peppercpp/classpp_1_1_module">pp::Module class</a></li> 52 HandleMessage(), PostMessage())</li>
53 <li><a class="reference external" href="https://developers.google.com/native-cli ent/peppercpp/classpp_1_1_var">pp::Var class</a></li> 53 <li><a class="reference external" href="/native-client/pepper_stable/cpp/classpp _1_1_module">pp::Module class</a></li>
54 <li><a class="reference external" href="/native-client/pepper_stable/cpp/classpp _1_1_var">pp::Var class</a></li>
54 </ul> 55 </ul>
55 </section><section id="introduction-to-the-messaging-system"> 56 </section><section id="introduction-to-the-messaging-system">
56 <h2 id="introduction-to-the-messaging-system">Introduction to the messaging syst em</h2> 57 <h2 id="introduction-to-the-messaging-system">Introduction to the messaging syst em</h2>
57 <p>Native Client modules and JavaScript communicate by sending messages 58 <p>Native Client modules and JavaScript communicate by sending messages to each
58 to each other. The most basic form of a message is a string. Messages 59 other. The most basic form of a message is a string. Messages support many
59 support many JavaScript types, including ints, arrays, array buffers, 60 JavaScript types, including ints, arrays, array buffers, and dictionaries (see
60 and dictionaries (see <a class="reference external" href="https://developers.goo gle.com/native-client/peppercpp/classpp_1_1_var">pp::Var</a>, 61 <a class="reference external" href="h/native-client/pepper_stable/cpp/classpp_1_ 1_var">pp::Var</a>,
61 <a class="reference external" href="https://developers.google.com/native-client/ peppercpp/classpp_1_1_var_array_buffer">pp:VarArrayBuffer</a>, 62 <a class="reference external" href="/native-client/pepper_stable/cpp/classpp_1_1 _var_array_buffer">pp:VarArrayBuffer</a>, and the
62 and the general <a class="reference external" href="https://developers.google.co m/native-client/pepperc/struct_p_p_b___messaging__1__0">messaging system documen tation</a>). 63 general <a class="reference external" href="/native-client/pepper_stable/c/struc t_p_p_b___messaging__1__0">messaging system documentation</a>). It&#8217;s up t o
63 It&#8217;s up to you to decide on the type of message and define how to 64 you to decide on the type of message and define how to process the messages on
64 process the messages on both the JavaScript and Native Client 65 both the JavaScript and Native Client side. For the &#8220;Hello, World&#8221; e xample, we
65 side. For the &#8220;Hello, World&#8221; example, we will work with string-typed 66 will work with string-typed messages only.</p>
66 messages only.</p>
67 <p>When JavaScript posts a message to the Native Client module, the 67 <p>When JavaScript posts a message to the Native Client module, the
68 Pepper <code>HandleMessage()</code> function is invoked on the module 68 Pepper <code>HandleMessage()</code> function is invoked on the module
69 side. Similarly, the Native Client module can post a message to 69 side. Similarly, the Native Client module can post a message to
70 JavaScript, and this message triggers a JavaScript event listener for 70 JavaScript, and this message triggers a JavaScript event listener for
71 <code>message</code> events in the DOM. (See the W3C specification on 71 <code>message</code> events in the DOM. (See the W3C specification on
72 <a class="reference external" href="http://www.w3.org/TR/DOM-Level-2-Events/even ts.html">Document Object Model Events</a> for more 72 <a class="reference external" href="http://www.w3.org/TR/DOM-Level-2-Events/even ts.html">Document Object Model Events</a> for more
73 information.) In the &#8220;Hello, World&#8221; example, the JavaScript function s for 73 information.) In the &#8220;Hello, World&#8221; example, the JavaScript function s for
74 posting and handling messages are named <code>postMessage()</code> and 74 posting and handling messages are named <code>postMessage()</code> and
75 <code>handleMessage()</code> (but any names could be used). On the Native Client 75 <code>handleMessage()</code> (but any names could be used). On the Native Client
76 C++ side, the Pepper Library functions for posting and handling 76 C++ side, the Pepper Library functions for posting and handling
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 } 165 }
166 </pre> 166 </pre>
167 </section></section><section id="native-client-module"> 167 </section></section><section id="native-client-module">
168 <h3 id="native-client-module">Native Client module</h3> 168 <h3 id="native-client-module">Native Client module</h3>
169 <p>The C++ code in the Native Client module of the &#8220;Hello, World&#8221; ex ample:</p> 169 <p>The C++ code in the Native Client module of the &#8220;Hello, World&#8221; ex ample:</p>
170 <ol class="arabic simple"> 170 <ol class="arabic simple">
171 <li>Implements <code>pp::Instance::HandleMessage()</code> to handle messages sen t 171 <li>Implements <code>pp::Instance::HandleMessage()</code> to handle messages sen t
172 by the JavaScript.</li> 172 by the JavaScript.</li>
173 <li>Processes incoming messages. This example simply checks that JavaScript 173 <li>Processes incoming messages. This example simply checks that JavaScript
174 has sent a &#8220;hello&#8221; message and not some other message.</li> 174 has sent a &#8220;hello&#8221; message and not some other message.</li>
175 <li>Calls <code>PostMessage()</code> to send an acknowledgement back to the 175 <li>Calls <code>PostMessage()</code> to send an acknowledgement back to the Java Script
176 JavaScript code. The acknowledgement is a string in the form of a <code>Var</co de> 176 code. The acknowledgement is a string in the form of a <code>Var</code> that th e
177 that the JavaScript code can process. In general, a <code>pp::Var</code> can be 177 JavaScript code can process. In general, a <code>pp::Var</code> can be several
178 several JavaScript types, see the 178 JavaScript types, see the <a class="reference external" href="/native-client/pep per_stable/c/struct_p_p_b___messaging__1__0">messaging system documentation</a>. </li>
179 <a class="reference external" href="https://developers.google.com/native-client/ pepperc/struct_p_p_b___messaging__1__0">messaging system documentation</a>.</li>
180 </ol> 179 </ol>
181 <pre class="prettyprint"> 180 <pre class="prettyprint">
182 class HelloTutorialInstance : public pp::Instance { 181 class HelloTutorialInstance : public pp::Instance {
183 public: 182 public:
184 // ... 183 // ...
185 184
186 // === Step 1: Implement the HandleMessage function. === 185 // === Step 1: Implement the HandleMessage function. ===
187 virtual void HandleMessage(const pp::Var&amp; var_message) { 186 virtual void HandleMessage(const pp::Var&amp; var_message) {
188 187
189 // === Step 2: Process the incoming message. === 188 // === Step 2: Process the incoming message. ===
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
367 pp::VarArray keys = dictionary.GetKeys(); 366 pp::VarArray keys = dictionary.GetKeys();
368 // ... 367 // ...
369 } else { 368 } else {
370 // ... 369 // ...
371 } 370 }
372 } 371 }
373 </pre> 372 </pre>
374 </section></section></section> 373 </section></section></section>
375 374
376 {{/partials.standard_nacl_article}} 375 {{/partials.standard_nacl_article}}
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698