Commit 0ad1d41b authored by jmedley's avatar jmedley Committed by Commit bot

Rearrange tables so that navigation can be added back to certain pages.

BUG=none
R= mkearney@chromium.org, smain@chromium.org
TEST=none
NOTRY=true
(documentation only change)

Review URL: https://codereview.chromium.org/511963004

Cr-Commit-Position: refs/heads/master@{#295114}
parent b7d5c878
{{+bindTo:partials.standard_nacl_api}}
{{+bindTo:partials.standard_nacl_article}}
<section id="progress-events">
<h1 id="progress-events">Progress Events</h1>
<span id="devcycle-progress-events"></span><h1 id="progress-events"><span id="devcycle-progress-events"></span>Progress Events</h1>
<div class="contents local" id="contents" style="display: none">
<ul class="small-gap">
<li><a class="reference internal" href="#module-loading-and-progress-events" id="id3">Module loading and progress events</a></li>
......@@ -34,29 +34,26 @@ events types reported by the Native Client runtime:</p>
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Event</th>
<th class="head">Description</th>
<th class="head">Number of
times
<th class="head">Times
triggered</th>
<th class="head">When event is
<th class="head">When
triggered</th>
<th class="head">How you might
react to
event</th>
respond</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><code>loadstart</code></td>
<td>Native Client has
started to load a
Native Client
module.</td>
<tr class="row-even"><td><dl class="first last docutils">
<dt><code>loadstart</code></dt>
<dd>Native Client has started to
load a Native Client module.</dd>
</dl>
</td>
<td>once</td>
<td>This is the
<td>The
first
progress
event
triggered
after the
Native Client
module is
......@@ -69,9 +66,12 @@ message, such
as
&#8220;Loading...&#8221;</td>
</tr>
<tr class="row-odd"><td><code>progress</code></td>
<td>Part of the module
has been loaded.</td>
<tr class="row-odd"><td><dl class="first last docutils">
<dt><code>progress</code></dt>
<dd>Part of the module has been
loaded.</dd>
</dl>
</td>
<td>zero or
more</td>
<td>After
......@@ -81,31 +81,24 @@ dispatched.</td>
<td>Display a
progress bar.</td>
</tr>
<tr class="row-even"><td><code>error</code></td>
<td>The Native Client
module failed to
start execution
(includes any
error before or
during
initialization of
the module). The
<code>lastError</code>
attribute
(mentioned later)
provides details
on the error
(initialization
failed, sel_ldr
did not start,
and so on).</td>
<tr class="row-even"><td><dl class="first last docutils">
<dt><code>error</code></dt>
<dd>The Native Client module failed
to start execution (includes any
error before or during
initialization of the module).
The <code>lastError</code> attribute
(mentioned later) provides
details on the error
(initialization failed, sel_ldr
did not start, and so on).</dd>
</dl>
</td>
<td>zero or
once</td>
<td>After the
last
<td>After the last
<code>progress</code>
event has
been
event has been
dispatched,
or after
<code>loadstart</code>
......@@ -119,21 +112,19 @@ application
failed to
load.</td>
</tr>
<tr class="row-odd"><td><code>abort</code></td>
<td>Loading of the
Native Client
module was
aborted by the
user.</td>
<tr class="row-odd"><td><dl class="first last docutils">
<dt><code>abort</code></dt>
<dd>Loading of the NativeClient
module was aborted by the user.</dd>
</dl>
</td>
<td>zero or
once</td>
<td>After the
last
<td>After the last
<code>progress</code>
event has
been
dispatched,
or after
event has been
dispatched, or
after
<code>loadstart</code>
if no
<code>progress</code>
......@@ -145,25 +136,23 @@ will want to
respond to
this event.</td>
</tr>
<tr class="row-even"><td><code>load</code></td>
<td>The Native Client
module was
successfully
loaded, and
execution was
started. (The
module was
initialized
successfully.)</td>
<tr class="row-even"><td><dl class="first last docutils">
<dt><code>load</code></dt>
<dd>The Native Client module was
successfully loaded, and
execution was started.
(The module was initialized
successfully.)</dd>
</dl>
</td>
<td>zero or
once</td>
<td>After the
last
<code>progress</code>
event has
been
dispatched,
or after
event has been
dispatched, or
after
<code>loadstart</code>
if no
<code>progress</code>
......@@ -172,17 +161,15 @@ dispatched.</td>
<td>Remove the
progress bar.</td>
</tr>
<tr class="row-odd"><td><code>loadend</code></td>
<td>Loading of the
Native Client
module has
stopped. Load
succeeded
(<code>load</code>),
failed
(<code>error</code>), or
was aborted
(<code>abort</code>).</td>
<tr class="row-odd"><td><dl class="first last docutils">
<dt><code>loadend</code></dt>
<dd>Loading of the Native Client
module has stopped. Load
succeeded (<code>load</code>), failed
(<code>error</code>), or was aborted
(<code>abort</code>).</dd>
</dl>
</td>
<td>once</td>
<td>After an
<code>error</code>,
......@@ -193,28 +180,24 @@ dispatched.</td>
<td>Indicate
loading is
over
(regardless
of failure or
(regardless of
failure or
not).</td>
</tr>
<tr class="row-even"><td><code>crash</code></td>
<td>The Native Client
module is not
responding (died
on an
<code>assert()</code> or
<code>exit()</code>) after
a successful
load. This event
is unique to
Native Client and
is not part of
the W3C Progress
Events standard.
The <code>exitStatus</code>
attribute provides
the numeric exit
status value.</td>
<tr class="row-even"><td><dl class="first last docutils">
<dt><code>crash</code></dt>
<dd>The Native Client module is not
responding (died on an
<code>assert()</code> or <code>exit()</code>)
after a successful load. This
event is unique to Native Client
and is not part of the W3C
Progress Events standard. The
<code>exitStatus</code> attribute
provides the numeric exit
status.</dd>
</dl>
</td>
<td>zero or
once</td>
<td>After a
......@@ -425,4 +408,4 @@ may nevertheless be useful for temporary debugging.</li>
</ul>
</section>
{{/partials.standard_nacl_api}}
{{/partials.standard_nacl_article}}
{{+bindTo:partials.standard_nacl_api}}
{{+bindTo:partials.standard_nacl_article}}
<section id="view-change-focus-and-input-events">
<h1 id="view-change-focus-and-input-events">View Change, Focus, and Input Events</h1>
<span id="view-focus-input-events"></span><h1 id="view-change-focus-and-input-events"><span id="view-focus-input-events"></span>View Change, Focus, and Input Events</h1>
<div class="contents local" id="contents" style="display: none">
<ul class="small-gap">
<li><a class="reference internal" href="#overview" id="id2">Overview</a></li>
......@@ -50,105 +50,83 @@ and browser events. These functions are listed in the table below:</p>
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Function</th>
<th class="head">Event</th>
<th class="head">Use</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><code>DidChangeView</code></td>
<td>Called when the position,
size, or clip rectangle
of the module&#8217;s instance in
the browser has changed.
This event also occurs
when browser window is
resized or mouse wheel
is scrolled.</td>
<td>An implementation
of this function
might check the size
of the module
instance&#8217;s rectangle
has changed and
reallocate the
graphics context
when a different
size is received.</td>
<tr class="row-even"><td><dl class="first last docutils">
<dt><code>DidChangeView</code></dt>
<dd>Called when the position, size, or
clip rectangle of the module&#8217;s
instance in the browser has
changed. This event also occurs
when the browser window is resized
or the mouse wheel is scrolled.</dd>
</dl>
</td>
<td>An implementation of this function might
check the size of the module instance&#8217;s
rectangle has changed and reallocate the
graphcs context when a different size is
received.</td>
</tr>
<tr class="row-odd"><td><code>DidChangeFocus</code></td>
<td>Called when the module&#8217;s
instance in the browser
has gone in or out of
focus (usually by
clicking inside or
outside the module
instance). Having focus
means that keyboard
events will be sent to
the module instance.
An instance&#8217;s default
condition is that it
does not have focus.</td>
<td>An implementation
of this function
might start or stop
an animation or a
blinking cursor.</td>
<tr class="row-odd"><td><dl class="first last docutils">
<dt><code>DidChangeFocus</code></dt>
<dd>Called when the module&#8217;s instance
in the browser has gone in or out
of focus (usually by clicking
inside or outside the module
instance). Having focus means that
keyboard events will be sent to the
module instance. An instance&#8217;s
default condition is that it does
not have focus.</dd>
</dl>
</td>
<td>An implementation of this function might
start or stop an animation or a blinking
cursor.</td>
</tr>
<tr class="row-even"><td><code>HandleDocumentLoad</code></td>
<td>Called after
<code>pp::Instance::Init()</code>
for a full-frame module
instance that was
instantiated based on
the MIME type of a
DOMWindow navigation.
This situation only
applies to modules that
are pre-registered to
handle certain MIME
types. If you haven&#8217;t
specifically registered
to handle a MIME type or
aren&#8217;t positive this
applies to you, your
implementation of this
function can just return
false.</td>
<td>This API is only
applicable when you
are writing an
extension to enhance
the abilities of
the Chrome web
browser. For
example, a PDF
viewer might
implement this
function to download
and display a PDF
file.</td>
<tr class="row-even"><td><dl class="first last docutils">
<dt><code>HandleDocumentLoad</code></dt>
<dd><code>pp::Instance::Init()</code> for a
full-frame module instance that was
instantiated based on the MIME
type of a DOMWindow navigation.
This situation only applies to
modules that are pre-registered to
handle certain MIME types. If you
haven&#8217;t specifically registered to
handle a MIME type or aren&#8217;t
positive this applies to you, your
implementation of this function can
just return false.</dd>
</dl>
</td>
<td>This API is only applicable when you are
writing an extension to enhance the
abilities of the Chrome web browser. For
example, a PDF viewer might implement
this function to download and display a
PDF file.</td>
</tr>
<tr class="row-odd"><td><code>HandleInputEvent</code></td>
<td>Called when a user
interacts with the
module&#8217;s instance in the
browser using an input
device such as a mouse
or keyboard. You must
register your module to
accept input events
using
<tr class="row-odd"><td><dl class="first last docutils">
<dt><code>HandleInputEvent</code></dt>
<dd>Called when a user interacts with
the module&#8217;s instance in the
browser using an input device such
as a mouse or keyboard. You must
register your module to accept
input events using
<code>RequestInputEvents()</code>
for mouse events and
<code>RequestFilteringInputEvents</code>
for keyboard events
prior to overriding this
function.</td>
<td>An implementation of
this function
examines the input
event type and
<code>RequestFilteringInputEvents()</code>
for keyboard events prior to
overriding this function.</dd>
</dl>
</td>
<td>An implementation of this function
examines the input event type and
branches accordingly.</td>
</tr>
</tbody>
......@@ -332,4 +310,4 @@ the <code>event_queue_</code> and the worker thread takes events from the
thread, so as not to slow down the browser.</p>
</section>
{{/partials.standard_nacl_api}}
{{/partials.standard_nacl_article}}
{{+bindTo:partials.standard_nacl_api}}
{{+bindTo:partials.standard_nacl_article}}
<section id="running">
<h1 id="running">Running</h1>
<span id="devcycle-running"></span><h1 id="running"><span id="devcycle-running"></span>Running</h1>
<div class="contents local" id="contents" style="display: none">
<ul class="small-gap">
<li><a class="reference internal" href="#introduction" id="id5">Introduction</a></li>
......@@ -71,52 +71,70 @@ section below.</p>
<colgroup>
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">#</th>
<th class="head">Technique</th>
<th class="head">Requires NaCl flag</th>
<th class="head">Requires Web Server</th>
<th class="head">Requires CWS Metadata</th>
<th class="head">Description</th>
<tr class="row-odd"><th class="head" colspan="2">Technique</th>
<th class="head">Requires
Web
Server</th>
<th class="head">Requires
CWS
Metadata</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td>1</td>
<td>Local server</td>
<td><img alt="CHK" src="/native-client/images/check-red.png" /></td>
<tr class="row-even"><td colspan="2"><p class="first"><strong>1. Local server</strong></p>
<blockquote class="last">
<div><blockquote>
<div><p>Run a local server and simply point your browser to
your application on the server.</p>
<aside class="note">
This technique requires the NaCl flag.
</aside>
</div></blockquote>
</div></blockquote>
</td>
<td><img alt="CHK" src="/native-client/images/check-red.png" /></td>
<td>&nbsp;</td>
<td>Run a local server and simply point your browser to your application on
the server.</td>
</tr>
<tr class="row-odd"><td>2</td>
<td>Packaged application loaded as an unpacked extension</td>
<td>&nbsp;</td>
<tr class="row-odd"><td colspan="2"><p class="first"><strong>2. Packaged application loaded as an unpacked
extension</strong></p>
<blockquote class="last">
<div><blockquote>
<div>Load your packaged application into Chrome as an
unpacked extension and run it without a server. An
unpacked extension is an application whose source and
metadata files are located in an unzipped folder on
your development machine. The CWS manifest file
(explained below) must specify a local_path field.</div></blockquote>
</div></blockquote>
</td>
<td>&nbsp;</td>
<td><img alt="CHK" src="/native-client/images/check-red.png" /></td>
<td>Load your packaged application into Chrome as an unpacked extension and
run it without a server. An unpacked extension is simply an application
whose source and metadata files are located in a plain (unzipped) folder
on your development machine. The CWS manifest file (explained below) must
specify a <code>local_path</code> field.</td>
</tr>
<tr class="row-even"><td>3</td>
<td>Hosted application loaded as an unpacked extension</td>
<td>&nbsp;</td>
<tr class="row-even"><td colspan="2"><p class="first"><strong>3. Hosted application loaded as an unpacked
extension</strong></p>
<blockquote class="last">
<div><blockquote>
<div>Load your hosted application into Chrome as an
unpacked extension and run it from a server (which can
be a local server). The CWS manifest file must specify
a web_url field.</div></blockquote>
</div></blockquote>
</td>
<td><img alt="CHK" src="/native-client/images/check-red.png" /></td>
<td><img alt="CHK" src="/native-client/images/check-red.png" /></td>
<td>Load your hosted application into Chrome as an unpacked extension and run
it from a server (which can be a local server). The CWS manifest file
must specify a <code>web_url</code> field.</td>
</tr>
<tr class="row-odd"><td>4</td>
<td>CWS application with untrusted testers</td>
<td>&nbsp;</td>
<tr class="row-odd"><td colspan="2"><p class="first"><strong>4. CWS application with untrusted testers</strong></p>
<blockquote class="last">
<div><blockquote>
<div>The standard technique for distributing a packaged or
hosted application in the CWS. You can limit the
application to trusted testers. This technique
requires a server if your application is a hosted
application.</div></blockquote>
</div></blockquote>
</td>
<td>&nbsp;</td>
<td><img alt="CHK" src="/native-client/images/check-red.png" /></td>
<td>This is the standard technique for distributing a packaged or hosted
application in the CWS, but you can limit the application to a few
trusted testers. This technique requires a server if your application is
a hosted application.</td>
</tr>
</tbody>
</table>
......@@ -424,4 +442,4 @@ you must first unpublish the application. For additional information see
to test accounts</a>.</p>
</section>
{{/partials.standard_nacl_api}}
{{/partials.standard_nacl_article}}
{{+bindTo:partials.standard_nacl_api}}
{{+bindTo:partials.standard_nacl_article}}
<section id="debugging-with-visual-studio">
<h1 id="debugging-with-visual-studio">Debugging With Visual Studio</h1>
<span id="devcycle-vs-addin"></span><h1 id="debugging-with-visual-studio"><span id="devcycle-vs-addin"></span>Debugging with Visual Studio</h1>
<div class="contents local" id="table-of-contents" style="display: none">
<p class="topic-title first">Table Of Contents</p>
<ul class="small-gap">
......@@ -179,11 +179,11 @@ example):</p>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td>NACL_SDK_ROOT</td>
<tr class="row-even"><td><code>NACL_SDK_ROOT</code></td>
<td>The path to the pepper directory in the SDK.
For example: <code>C:\nacl_sdk\pepper_23</code></td>
</tr>
<tr class="row-odd"><td>CHROME_PATH</td>
<tr class="row-odd"><td><code>CHROME_PATH</code></td>
<td>The path to the .exe file for the version of Chrome you
are testing with. For example:
<code>C:\Users\fred\AppData\Local\Google\Chrome
......@@ -513,4 +513,4 @@ than a Pepper plugin.</dd>
</dl>
</section>
{{/partials.standard_nacl_api}}
{{/partials.standard_nacl_article}}
......@@ -143,19 +143,25 @@ each Native Client architecture with two name/value pairs:</p>
<colgroup>
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Name</th>
<th class="head">Value</th>
<tr class="row-odd"><th class="head"><p class="first last">Name</p>
</th>
<th class="head"><p class="first last">Value</p>
</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><code>nacl_arch</code></td>
<td><code>x86-64</code>, <code>x86-32</code>, or <code>arm</code></td>
<tr class="row-even"><td><p class="first last"><code>nacl_arch</code></p>
</td>
<td><p class="first last"><code>x86-64</code>, <code>x86-32</code>, or <code>arm</code></p>
</td>
</tr>
<tr class="row-odd"><td><code>sub_package_path</code></td>
<td>the path of the directory (starting
<tr class="row-odd"><td><p class="first last"><code>sub_package_path</code></p>
</td>
<td><p class="first last">the path of the directory (starting
with <code>_platform_specific</code>) that
contains the files for the designated
NaCl architecture</td>
NaCl architecture</p>
</td>
</tr>
</tbody>
</table>
......
......@@ -115,7 +115,7 @@
<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/debugging.html#debugging-with-other-tools">Debugging with other tools</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="/native-client/devguide/devcycle/vs-addin.html">Debugging With Visual Studio</a><ul class="small-gap">
<li class="toctree-l1"><a class="reference internal" href="/native-client/devguide/devcycle/vs-addin.html">Debugging with Visual Studio</a><ul class="small-gap">
<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/vs-addin.html#introduction">Introduction</a></li>
<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/vs-addin.html#platforms">Platforms</a></li>
<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/vs-addin.html#installing-the-add-in">Installing the add-in</a></li>
......@@ -124,12 +124,9 @@
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="/native-client/devguide/devcycle/dynamic-loading.html">Dynamic Linking and Loading with glibc</a><ul class="small-gap">
<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/dynamic-loading.html#introduction">Introduction</a></li>
<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/dynamic-loading.html#building-a-dynamically-linked-application">Building a dynamically linked application</a></li>
<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/dynamic-loading.html#generating-a-native-client-manifest-file-for-a-dynamically-linked-application">Generating a Native Client manifest file for a dynamically linked application</a></li>
<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/dynamic-loading.html#deploying-a-dynamically-linked-application">Deploying a dynamically linked application</a></li>
<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/dynamic-loading.html#opening-a-shared-library-at-runtime">Opening a shared library at runtime</a></li>
<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/dynamic-loading.html#troubleshooting">Troubleshooting</a></li>
<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/dynamic-loading.html#c-standard-libraries-glibc-and-newlib">C standard libraries: glibc and newlib</a></li>
<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/dynamic-loading.html#sdk-toolchains">SDK toolchains</a></li>
<li class="toctree-l2"><a class="reference internal" href="/native-client/devguide/devcycle/dynamic-loading.html#specifying-and-delivering-shared-libraries">Specifying and delivering shared libraries</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="/native-client/devguide/coding/index.html">Coding Your Application</a></li>
......
.. _view_focus_input_events:
:template: standard_nacl_api
####################################
View Change, Focus, and Input Events
####################################
......@@ -43,71 +41,55 @@ override certain functions in the `pp::Instance
</native-client/pepper_stable/cpp/classpp_1_1_instance>`_ class to handle input
and browser events. These functions are listed in the table below:
====================== =============================== ====================
Function Event Use
====================== =============================== ====================
``DidChangeView`` Called when the position, An implementation
size, or clip rectangle of this function
of the module's instance in might check the size
the browser has changed. of the module
This event also occurs instance's rectangle
when browser window is has changed and
resized or mouse wheel reallocate the
is scrolled. graphics context
when a different
size is received.
``DidChangeFocus`` Called when the module's An implementation
instance in the browser of this function
has gone in or out of might start or stop
focus (usually by an animation or a
clicking inside or blinking cursor.
outside the module
instance). Having focus
means that keyboard
events will be sent to
the module instance.
An instance's default
condition is that it
does not have focus.
``HandleDocumentLoad`` Called after This API is only
``pp::Instance::Init()`` applicable when you
for a full-frame module are writing an
instance that was extension to enhance
instantiated based on the abilities of
the MIME type of a the Chrome web
DOMWindow navigation. browser. For
This situation only example, a PDF
applies to modules that viewer might
are pre-registered to implement this
handle certain MIME function to download
types. If you haven't and display a PDF
specifically registered file.
to handle a MIME type or
aren't positive this
applies to you, your
implementation of this
function can just return
false.
``HandleInputEvent`` Called when a user An implementation of
interacts with the this function
module's instance in the examines the input
browser using an input event type and
device such as a mouse branches accordingly.
or keyboard. You must
register your module to
accept input events
using
``RequestInputEvents()``
for mouse events and
``RequestFilteringInputEvents``
for keyboard events
prior to overriding this
function.
====================== =============================== ====================
+-------------------------------------+----------------------------------------+
| Function | Use |
+=====================================+========================================+
|``DidChangeView`` |An implementation of this function might|
| Called when the position, size, or |check the size of the module instance's |
| clip rectangle of the module's |rectangle has changed and reallocate the|
| instance in the browser has |graphcs context when a different size is|
| changed. This event also occurs |received. |
| when the browser window is resized | |
| or the mouse wheel is scrolled. | |
+-------------------------------------+----------------------------------------+
|``DidChangeFocus`` |An implementation of this function might|
| Called when the module's instance |start or stop an animation or a blinking|
| in the browser has gone in or out |cursor. |
| of focus (usually by clicking | |
| inside or outside the module | |
| instance). Having focus means that | |
| keyboard events will be sent to the| |
| module instance. An instance's | |
| default condition is that it does | |
| not have focus. | |
+-------------------------------------+----------------------------------------+
|``HandleDocumentLoad`` |This API is only applicable when you are|
| ``pp::Instance::Init()`` for a |writing an extension to enhance the |
| full-frame module instance that was|abilities of the Chrome web browser. For|
| instantiated based on the MIME |example, a PDF viewer might implement |
| type of a DOMWindow navigation. |this function to download and display a |
| This situation only applies to |PDF file. |
| modules that are pre-registered to | |
| handle certain MIME types. If you | |
| haven't specifically registered to | |
| handle a MIME type or aren't | |
| positive this applies to you, your | |
| implementation of this function can| |
| just return false. | |
+-------------------------------------+----------------------------------------+
|``HandleInputEvent`` |An implementation of this function |
| Called when a user interacts with |examines the input event type and |
| the module's instance in the |branches accordingly. |
| browser using an input device such | |
| as a mouse or keyboard. You must | |
| register your module to accept | |
| input events using | |
| ``RequestInputEvents()`` | |
| for mouse events and | |
| ``RequestFilteringInputEvents()`` | |
| for keyboard events prior to | |
| overriding this function. | |
+-------------------------------------+----------------------------------------+
These interfaces are found in the `pp::Instance class
......
......@@ -7,9 +7,6 @@ Dynamic Linking and Loading with glibc
:backlinks: none
:depth: 2
Introduction
============
.. Note::
:class: caution
......@@ -31,31 +28,30 @@ C standard libraries: glibc and newlib
The Native Client SDK comes with two C standard libraries --- glibc and
newlib. These libraries are described in the table below.
+--------+----------+-------------+--------------------------------------------+
| Library| Linking | License | Description |
+========+==========+=============+============================================+
| glibc | dynamic | GNU Lesser | glibc is the GNU implementation of the |
| | or static| General | POSIX_ standard runtime library for the C |
| | | Public | programming language. Designed for |
| | | License | portability and performance, glibc is one |
| | | (LGPL) | of the most popular implementations of the |
| | | | C library. It is comprised of a set of |
| | | | interdependent libraries including libc, |
| | | | libpthreads, libdl, and others. For |
| | | | documentation, FAQs, and additional |
| | | | information about glibc, see GLIBC_ |
+--------+----------+-------------+--------------------------------------------+
| newlib | static | Berkeley | newlib is a C library intended for use in |
| | | Software | embedded systems. Like glibc, newlib is a |
| | | Distribution| conglomeration of several library parts. |
| | | (BSD) type | It is available for use under BSD-type free|
| | | free | software licenses, which generally makes it|
| | | software | more suitable to link statically in |
| | | licenses | commercial, closed-source applications. For|
| | | | documentation, FAQs, and additional |
| | | | information about newlib, see the newlib_ |
| | | | documentation. |
+--------+----------+-------------+--------------------------------------------+
+-----------------------------------------------------+----------+-------------+
| Library | Linking | License |
+=====================================================+==========+=============+
|glibc | dynamic | GNU Lesser |
| The GNU implementation of the POSIX_ standard | or static| General |
| runtime library for the C programming language. | | Public |
| Designed for portability and performance, glibc is | | License |
| one of the most popular implementations of the C | | (LGPL) |
| library. It is comprised of a set of interdependent| | |
| libraries including libc, libpthreads, libdl, and | | |
| others. For documentation, FAQs, and additional | | |
| information about glibc, see GLIBC_. | | |
+-----------------------------------------------------+----------+-------------+
|newlib | static | Berkeley |
| newlib is a C library intended for use in embedded | | Software |
| systems. Like glibc, newlib is a conglomeration of | | Distribution|
| several libraries. It is available for use under | | (BSD) type |
| BSD-type free software licenses, which generally | | free |
| makes it more suitable to link statically in | | software |
| commercial, closed-source applications. For | | licenses |
| documentation, FAQs, and additional information | | |
| about newlib, see newlib_. | | |
+-----------------------------------------------------+----------+-------------+
For proprietary (closed-source) applications, your options are to either
statically link to newlib, or dynamically link to glibc. We recommend
......
.. _devcycle-running:
:template: standard_nacl_api
#######
Running
#######
......@@ -67,49 +65,57 @@ below. Each technique has certain requirements (NaCl flag, web server, and/or
CWS metadata); these are explained in the :ref:`Requirements <requirements>`
section below.
.. list-table::
:header-rows: 1
* - #
- Technique
- Requires NaCl flag
- Requires Web Server
- Requires CWS Metadata
- Description
* - 1
- Local server
- |CHK|
- |CHK|
-
- Run a local server and simply point your browser to your application on
the server.
* - 2
- Packaged application loaded as an unpacked extension
-
-
- |CHK|
- Load your packaged application into Chrome as an unpacked extension and
run it without a server. An unpacked extension is simply an application
whose source and metadata files are located in a plain (unzipped) folder
on your development machine. The CWS manifest file (explained below) must
specify a ``local_path`` field.
* - 3
- Hosted application loaded as an unpacked extension
-
- |CHK|
- |CHK|
- Load your hosted application into Chrome as an unpacked extension and run
it from a server (which can be a local server). The CWS manifest file
must specify a ``web_url`` field.
* - 4
- CWS application with untrusted testers
-
-
- |CHK|
- This is the standard technique for distributing a packaged or hosted
application in the CWS, but you can limit the application to a few
trusted testers. This technique requires a server if your application is
a hosted application.
+--------------------------------------------------------+----------+----------+
| Technique | Requires | Requires |
| | Web | CWS |
| | Server | Metadata |
+========================================================+==========+==========+
|**1. Local server** | |CHK| | |
| | | |
| .. | | |
| | | |
| Run a local server and simply point your browser to | | |
| your application on the server. | | |
| | | |
| .. Note:: | | |
| :class: note | | |
| | | |
| This technique requires the NaCl flag. | | |
+---------------------------------------------+----------+----------+----------+
|**2. Packaged application loaded as an unpacked | | |CHK| |
|extension** | | |
| | | |
| .. | | |
| | | |
| Load your packaged application into Chrome as an | | |
| unpacked extension and run it without a server. An | | |
| unpacked extension is an application whose source and | | |
| metadata files are located in an unzipped folder on | | |
| your development machine. The CWS manifest file | | |
| (explained below) must specify a local_path field. | | |
+--------------------------------------------------------+----------+----------+
|**3. Hosted application loaded as an unpacked | |CHK| | |CHK| |
|extension** | | |
| | | |
| .. | | |
| | | |
| Load your hosted application into Chrome as an | | |
| unpacked extension and run it from a server (which can| | |
| be a local server). The CWS manifest file must specify| | |
| a web_url field. | | |
+--------------------------------------------------------+----------+----------+
|**4. CWS application with untrusted testers** | | |CHK| |
| | | |
| .. | | |
| | | |
| The standard technique for distributing a packaged or | | |
| hosted application in the CWS. You can limit the | | |
| application to trusted testers. This technique | | |
| requires a server if your application is a hosted | | |
| application. | | |
+--------------------------------------------------------+----------+----------+
.. |CHK| image:: /images/check-red.png
......
:template: standard_nacl_api
.. _devcycle-vs-addin:
############################
Debugging With Visual Studio
Debugging with Visual Studio
############################
......@@ -181,10 +181,10 @@ example):
+-------------------+----------------------------------------------------------+
| Variable Name | Description |
+===================+==========================================================+
| NACL_SDK_ROOT | The path to the pepper directory in the SDK. |
| ``NACL_SDK_ROOT`` | The path to the pepper directory in the SDK. |
| | For example: ``C:\nacl_sdk\pepper_23`` |
+-------------------+----------------------------------------------------------+
| CHROME_PATH | The path to the .exe file for the version of Chrome you |
| ``CHROME_PATH`` | The path to the .exe file for the version of Chrome you |
| | are testing with. For example: |
| | ``C:\Users\fred\AppData\Local\Google\Chrome |
| | SxS\Application\chrome.exe`` |
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment