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

Side by Side Diff: chrome/common/extensions/docs/experimental.keybinding.html

Issue 10642015: Basic setup for generating app docs (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 6 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
(Empty)
1 <!DOCTYPE html><!-- This page is a placeholder for generated extensions api doc. Note:
2 1) The <head> information in this page is significant, should be uniform
3 across api docs and should be edited only with knowledge of the
4 templating mechanism.
5 3) All <body>.innerHTML is genereated as an rendering step. If viewed in a
6 browser, it will be re-generated from the template, json schema and
7 authored overview content.
8 4) The <body>.innerHTML is also generated by an offline step so that this
9 page may easily be indexed by search engines.
10 --><html xmlns="http://www.w3.org/1999/xhtml"><head>
11 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
12 <link href="css/ApiRefStyles.css" rel="stylesheet" type="text/css">
13 <link href="css/print.css" rel="stylesheet" type="text/css" media="print">
14 <script type="text/javascript" src="../../../third_party/jstemplate/jstempla te_compiled.js">
15 </script>
16 <script type="text/javascript" src="../../../../third_party/json_minify/mini fy-sans-regexp.js">
17 </script>
18 <script type="text/javascript" src="js/api_page_generator.js"></script>
19 <script type="text/javascript" src="js/bootstrap.js"></script>
20 <script type="text/javascript" src="js/sidebar.js"></script>
21 <meta name="description" content="Documentation for the chrome.experimental.ke ybinding module, which is part of the Google Chrome extension APIs."><title>chr ome.experimental.keybinding - Google Chrome Extensions - Google Code</title></he ad>
22 <body> <div id="devModeWarning" class="displayModeWarning">
23 You are viewing extension docs in chrome via the 'file:' scheme: are you exp ecting to see local changes when you refresh? You'll need run chrome with --allo w-file-access-from-files.
24 </div>
25 <div id="branchWarning" class="displayModeWarning">
26 <span>WARNING: This is the <span id="branchName">BETA</span> documentation.
27 It may not work with the stable release of Chrome.</span>
28 <select id="branchChooser">
29 <option>Choose a different version...
30 </option><option value="">Stable
31 </option><option value="beta">Beta
32 </option><option value="dev">Dev
33 </option><option value="trunk">Trunk
34 </option></select>
35 </div>
36 <div id="unofficialWarning" class="displayModeWarning">
37 <span>WARNING: This is unofficial documentation. It may not work with the
38 current release of Chrome.</span>
39 <button id="goToOfficialDocs">Go to the official docs</button>
40 </div>
41 <div id="gc-container" class="labs">
42 <!-- SUBTEMPLATES: DO NOT MOVE FROM THIS LOCATION -->
43 <!-- In particular, sub-templates that recurse, must be used by allowing
44 jstemplate to make a copy of the template in this section which
45 are not operated on by way of the jsskip="true" -->
46 <!-- /SUBTEMPLATES -->
47 <a id="top"></a>
48 <div id="skipto">
49 <a href="#gc-pagecontent">Skip to page content</a>
50 <a href="#gc-toc">Skip to main navigation</a>
51 </div>
52 <!-- API HEADER -->
53 <table id="header" width="100%" cellspacing="0" border="0">
54 <tbody><tr>
55 <td valign="middle"><a href="http://code.google.com/"><img src="images/c ode_labs_logo.gif" height="43" width="161" alt="Google Code Labs" style="border: 0; margin:0;"></a></td>
56 <td valign="middle" width="100%" style="padding-left:0.6em;">
57 <form action="http://www.google.com/cse" id="cse" style="margin-top:0. 5em">
58 <div id="gsc-search-box">
59 <input type="hidden" name="cx" value="002967670403910741006:61_cvz fqtno">
60 <input type="hidden" name="ie" value="UTF-8">
61 <input type="text" name="q" value="" size="55">
62 <input class="gsc-search-button" type="submit" name="sa" value="Se arch">
63 <br>
64 <span class="greytext">e.g. "page action" or "tabs"</span>
65 </div>
66 </form>
67 <script type="text/javascript" src="https://www.google.com/jsapi"></sc ript>
68 <script type="text/javascript">google.load("elements", "1", {packages: "transliteration"});</script>
69 <script type="text/javascript" src="https://www.google.com/coop/cse/t1 3n?form=cse&amp;t13n_langs=en"></script>
70 <script type="text/javascript" src="https://www.google.com/coop/cse/br and?form=cse&amp;lang=en"></script>
71 </td>
72 </tr>
73 </tbody></table>
74 <div id="codesiteContent" class="">
75 <a id="gc-topnav-anchor"></a>
76 <div id="gc-topnav">
77 <h1>Google Chrome Extensions (<a href="http://code.google.com/labs/">Lab s</a>)</h1>
78 <ul id="home" class="gc-topnav-tabs">
79 <li id="home_link">
80 <a href="index.html" title="Google Chrome Extensions home page">Home </a>
81 </li>
82 <li id="docs_link">
83 <a href="docs.html" title="Official Google Chrome Extensions documen tation">Docs</a>
84 </li>
85 <li id="faq_link">
86 <a href="faq.html" title="Answers to frequently asked questions abou t Google Chrome Extensions">FAQ</a>
87 </li>
88 <li id="samples_link">
89 <a href="samples.html" title="Sample extensions (with source code)"> Samples</a>
90 </li>
91 <li id="group_link">
92 <a href="http://groups.google.com/a/chromium.org/group/chromium-exte nsions" title="Google Chrome Extensions developer forum">Group</a>
93 </li>
94 <li id="so_link">
95 <a href="http://stackoverflow.com/questions/tagged/google-chrome-ext ension" title="[google-chrome-extension] tag on Stack Overflow">Questions?</a>
96 </li>
97 </ul>
98 </div> <!-- end gc-topnav -->
99 <div class="g-section g-tpl-170">
100 <!-- SIDENAV -->
101 <div class="g-unit g-first" id="gc-toc">
102 <ul>
103 <li><a href="getstarted.html">Getting Started</a></li>
104 <li><a href="overview.html">Overview</a></li>
105 <li><a href="whats_new.html">What's New?</a></li>
106 <li><h2><a href="devguide.html">Developer's Guide</a></h2>
107 <ul>
108 <li>Browser UI
109 <ul>
110 <li><a href="browserAction.html">Browser Actions</a></li>
111 <li><a href="contextMenus.html">Context Menus</a></li>
112 <li><a href="notifications.html">Desktop Notifications</a></li >
113 <li><a href="omnibox.html">Omnibox</a></li>
114 <li><a href="options.html">Options Pages</a></li>
115 <li><a href="override.html">Override Pages</a></li>
116 <li><a href="pageAction.html">Page Actions</a></li>
117 </ul>
118 </li>
119 <li>Browser Interaction
120 <ul>
121 <li><a href="bookmarks.html">Bookmarks</a></li>
122 <li><a href="cookies.html">Cookies</a></li>
123 <li><a href="devtools.html">Developer Tools</a></li>
124 <li><a href="events.html">Events</a></li>
125 <li><a href="history.html">History</a></li>
126 <li><a href="management.html">Management</a></li>
127 <li><a href="tabs.html">Tabs</a></li>
128 <li><a href="windows.html">Windows</a></li>
129 </ul>
130 </li>
131 <li>Implementation
132 <ul>
133 <li><a href="a11y.html">Accessibility</a></li>
134 <li><a href="background_pages.html">Background Pages</a></li>
135 <li><a href="content_scripts.html">Content Scripts</a></li>
136 <li><a href="xhr.html">Cross-Origin XHR</a></li>
137 <li><a href="i18n.html">Internationalization</a></li>
138 <li><a href="messaging.html">Message Passing</a></li>
139 <li><a href="permissions.html">Optional Permissions</a></li>
140 <li><a href="npapi.html">NPAPI Plugins</a></li>
141 </ul>
142 </li>
143 <li>Finishing
144 <ul>
145 <li><a href="hosting.html">Hosting</a></li>
146 <li><a href="external_extensions.html">Other Deployment Option s</a></li>
147 </ul>
148 </li>
149 </ul>
150 </li>
151 <li><h2><a href="apps.html">Packaged Apps</a></h2></li>
152 <li><h2><a href="tutorials.html">Tutorials</a></h2>
153 <ul>
154 <li><a href="tut_debugging.html">Debugging</a></li>
155 <li><a href="tut_analytics.html">Google Analytics</a></li>
156 <li><a href="tut_oauth.html">OAuth</a></li>
157 </ul>
158 </li>
159 <li><h2>Reference</h2>
160 <ul>
161 <li>Formats
162 <ul>
163 <li><a href="manifest.html">Manifest Files</a></li>
164 <li><a href="match_patterns.html">Match Patterns</a></li>
165 </ul>
166 </li>
167 <li><a href="permission_warnings.html">Permission Warnings</a></li >
168 <li><a href="api_index.html">chrome.* APIs</a></li>
169 <li><a href="api_other.html">Other APIs</a></li>
170 </ul>
171 </li>
172 <li><h2><a href="samples.html">Samples</a></h2></li>
173 <div class="line"> </div>
174 <li><h2>More</h2>
175 <ul>
176 <li><a href="http://code.google.com/chrome/webstore/docs/index.htm l">Chrome Web Store</a></li>
177 <li><a href="http://code.google.com/chrome/apps/docs/developers_gu ide.html">Hosted Apps</a></li>
178 <li><a href="themes.html">Themes</a></li>
179 </ul>
180 </li>
181 </ul>
182 </div>
183 <script>
184 initToggles();
185 </script>
186 <div class="g-unit" id="gc-pagecontent">
187 <div id="pageTitle">
188 <h1 class="page_title">chrome.experimental.keybinding</h1>
189 </div>
190 <!-- TABLE OF CONTENTS -->
191 <div id="toc">
192 <h2>Contents</h2>
193 <ol>
194 <li>
195 <a href="#manifest">Manifest</a>
196 <ol>
197 </ol>
198 </li><li>
199 <a href="#usage">Usage</a>
200 <ol>
201 </ol>
202 </li>
203 <li>
204 <a href="#apiReference">API reference: chrome.experimental.keybi nding</a>
205 <ol>
206 <li>
207 <a href="#global-events">Events</a>
208 <ol>
209 <li>
210 <a href="#event-onCommand">onCommand</a>
211 </li>
212 </ol>
213 </li>
214 </ol>
215 </li>
216 </ol>
217 </div>
218 <!-- /TABLE OF CONTENTS -->
219 <!-- Standard content lead-in for experimental API pages -->
220 <p id="classSummary">
221 For information on how to use experimental APIs, see the <a href="expe rimental.html">chrome.experimental.* APIs</a> page.
222 </p>
223 <!-- STATIC CONTENT PLACEHOLDER -->
224 <div id="static"><!-- BEGIN AUTHORED CONTENT -->
225 <p>
226 The keybinding API allows you to add keyboard shortcuts that trigger actions in
227 your extension. An action can be opening the browser action or page action popup
228 or sending a command to the extension.
229 </p>
230 <h2 id="manifest">Manifest</h2>
231 <p>
232 In addition to the "experimental" permission you must declare the "keybinding"
233 permission in your extension's manifest to use this API and set manifest_version
234 to (at least) 2.
235 </p>
236 <pre>{
237 "name": "My extension",
238 ...
239 <b> "permissions": [
240 "experimental",
241 "keybinding",
242 ]</b>,
243 ...
244 }</pre>
245 <h2 id="usage">Usage</h2>
246 <p>The keybinding API allows you to define specific commands, and bind them to a
247 default key combination. Each command your extension accepts must be listed in
248 the manifest as an attribute of the 'commands' manifest key. Note: Combinations
249 that involve Ctrl+Alt are not permitted in order to avoid conflicts with the
250 AltGr key.</p>
251 <pre>{
252 "name": "My extension",
253 ...
254 <b> "commands": {
255 "toggle-feature-foo": {
256 "suggested_key": {
257 "default": "Ctrl+Shift+Y",
258 "mac": "Command+Shift+Y"
259 },
260 "description": "Toggle feature foo"
261 },
262 "_execute_browser_action": {
263 "suggested_key": {
264 "windows": "Ctrl+Shift+Y",
265 "mac": "Command+Shift+Y",
266 "chromeos": "Ctrl+Shift+U",
267 "linux": "Ctrl+Shift+J"
268 }
269 },
270 "_execute_page_action": {
271 "suggested_key": {
272 "default": "Ctrl+E"
273 "windows": "Alt+P",
274 "mac": "Option+P",
275 }
276 }
277 }</b>,
278 ...
279 }</pre>
280 <p>In your background page, you can bind a handler to each of the commands
281 defined in the manifest (except for '_execute_browser_action' and
282 '_execute_page_action') via onCommand.addListener. For example:</p>
283 <pre>chrome.experimental.keybinding.onCommand.addListener(function(command) {
284 console.log('Command:', command);
285 });
286 </pre>
287 <p>The '_execute_browser_action' and '_execute_page_action' commands are
288 reserved for the action of opening your extension's popups. They won't normally
289 generate events that you can handle. If you need to take action based on your
290 popup opening, consider listening for an 'onDomReady' event inside your popup's
291 code.
292 </p>
293 <!-- END AUTHORED CONTENT -->
294 </div>
295 <!-- API PAGE -->
296 <div class="apiPage">
297 <a name="apiReference"></a>
298 <h2>API reference: chrome.experimental.keybinding</h2>
299 <!-- PROPERTIES -->
300 <!-- /apiGroup -->
301 <!-- METHODS -->
302 <!-- /apiGroup -->
303 <!-- EVENTS -->
304 <div id="eventsTemplate" class="apiGroup">
305 <a name="global-events"></a>
306 <h3>Events</h3>
307 <!-- iterates over all events -->
308 <div class="apiItem">
309 <a name="event-onCommand"></a>
310 <h4>onCommand</h4>
311 <div class="summary">
312 <!-- Note: intentionally longer 80 columns -->
313 <span class="subdued">chrome.experimental.keybinding.</span><spa n>onCommand</span><span class="subdued">.addListener</span>(function(<span>strin g command</span>) <span class="subdued">{...}</span><span></span>);
314 </div>
315 <div class="description">
316 <p>Fired when a registered command is activated using a keyboard shortcut.</p>
317 <!-- LISTENER PARAMETERS -->
318 <div>
319 <h4>Listener parameters</h4>
320 <dl>
321 <div>
322 <div>
323 <dt>
324 <var>command</var>
325 <em>
326 <!-- TYPE -->
327 <div style="display:inline">
328 (
329 <span id="typeTemplate">
330 <span>
331 <span>string</span>
332 </span>
333 </span>
334 )
335 </div>
336 </em>
337 </dt>
338 <dd class="todo">
339 Undocumented.
340 </dd>
341 <!-- OBJECT PROPERTIES -->
342 <!-- OBJECT METHODS -->
343 <!-- OBJECT EVENT FIELDS -->
344 <!-- FUNCTION PARAMETERS -->
345 </div>
346 </div>
347 </dl>
348 </div>
349 <!-- EXTRA PARAMETERS -->
350 <!-- LISTENER RETURN VALUE -->
351 <dl>
352 </dl>
353 </div> <!-- /description -->
354 <!-- /description -->
355 </div> <!-- /apiItem -->
356 </div> <!-- /apiGroup -->
357 <!-- TYPES -->
358 <!-- /apiGroup -->
359 </div> <!-- /apiPage -->
360 </div> <!-- /gc-pagecontent -->
361 </div> <!-- /g-section -->
362 </div> <!-- /codesiteContent -->
363 <div id="gc-footer" --="">
364 <div class="text">
365 <p>
366 Except as otherwise <a href="http://code.google.com/policies.html#restrictions ">noted</a>,
367 the content of this page is licensed under the <a rel="license" href="http://c reativecommons.org/licenses/by/3.0/">Creative Commons
368 Attribution 3.0 License</a>, and code samples are licensed under the
369 <a rel="license" href="http://code.google.com/google_bsd_license.html">BSD Lic ense</a>.
370 </p>
371 <p>
372 ©2011 Google
373 </p>
374 <!-- begin analytics -->
375 <script src="https://www.google-analytics.com/urchin.js" type="text/javascript"> </script>
376 <script src="https://www.google-analytics.com/ga.js" type="text/javascript"></sc ript>
377 <script type="text/javascript">
378 // chrome doc tracking
379 try {
380 var engdocs = _gat._getTracker("YT-10763712-2");
381 engdocs._trackPageview();
382 } catch(err) {}
383 // code.google.com site-wide tracking
384 try {
385 _uacct="UA-18071-1";
386 _uanchor=1;
387 _uff=0;
388 urchinTracker();
389 }
390 catch(e) {/* urchinTracker not available. */}
391 </script>
392 <!-- end analytics -->
393 </div>
394 </div> <!-- /gc-footer -->
395 </div> <!-- /gc-container -->
396 </body></html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698