experimental.infobars.html revision 8ae428e0fb7feea16d79853f29447469a93bedff
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/jstemplate_compiled.js">
15    </script>
16    <script type="text/javascript" src="js/api_page_generator.js"></script>
17    <script type="text/javascript" src="js/bootstrap.js"></script>
18  <title>chrome.experimental.infobars - Google Chrome Extensions - Google Code</title></head>
19  <body>  <div id="gc-container" class="labs">
20      <div id="devModeWarning">
21        You are viewing extension docs in chrome via the 'file:' scheme: are you expecting to see local changes when you refresh? You'll need run chrome with --allow-file-access-from-files.
22      </div>
23      <!-- SUBTEMPLATES: DO NOT MOVE FROM THIS LOCATION -->
24      <!-- In particular, sub-templates that recurse, must be used by allowing
25           jstemplate to make a copy of the template in this section which
26           are not operated on by way of the jsskip="true" -->
27      <div style="display:none">
28
29        <!-- VALUE -->
30        <div id="valueTemplate">
31          <dt>
32            <var>paramName</var>
33              <em>
34
35                <!-- TYPE -->
36                <div style="display:inline">
37                  (
38                    <span class="optional">optional</span>
39                    <span class="enum">enumerated</span>
40                    <span id="typeTemplate">
41                      <span>
42                        <a> Type</a>
43                      </span>
44                      <span>
45                        <span>
46                          array of <span><span></span></span>
47                        </span>
48                        <span>paramType</span>
49                        <span></span>
50                      </span>
51                    </span>
52                  )
53                </div>
54
55              </em>
56          </dt>
57          <dd class="todo">
58            Undocumented.
59          </dd>
60          <dd>
61            Description of this parameter from the json schema.
62          </dd>
63          <dd>
64            This parameter was added in version
65            <b><span></span></b>.
66            You must omit this parameter in earlier versions,
67            and you may omit it in any version.  If you require this
68            parameter, the manifest key
69            <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a>
70            can ensure that your extension won't be run in an earlier browser version.
71          </dd>
72
73          <!-- OBJECT PROPERTIES -->
74          <dd>
75            <dl>
76              <div>
77                <div>
78                </div>
79              </div>
80            </dl>
81          </dd>
82
83          <!-- FUNCTION PARAMETERS -->
84          <dd>
85            <div></div>
86          </dd>
87
88        </div> <!-- /VALUE -->
89
90        <div id="functionParametersTemplate">
91          <h5>Parameters</h5>
92          <dl>
93            <div>
94              <div>
95              </div>
96            </div>
97          </dl>         
98        </div>
99      </div> <!-- /SUBTEMPLATES -->
100
101  <a id="top"></a>
102    <div id="skipto">
103      <a href="#gc-pagecontent">Skip to page content</a>
104      <a href="#gc-toc">Skip to main navigation</a>
105    </div>
106    <!-- API HEADER -->
107    <table id="header" width="100%" cellspacing="0" border="0">
108      <tbody><tr>
109        <td valign="middle"><a href="http://code.google.com/"><img src="images/code_labs_logo.gif" height="43" width="161" alt="Google Code Labs" style="border:0; margin:0;"></a></td>
110        <td valign="middle" width="100%" style="padding-left:0.6em;">
111          <form action="http://www.google.com/cse" id="cse" style="margin-top:0.5em">
112            <div id="gsc-search-box">
113              <input type="hidden" name="cx" value="002967670403910741006:61_cvzfqtno">
114              <input type="hidden" name="ie" value="UTF-8">
115              <input type="text" name="q" value="" size="55">
116              <input class="gsc-search-button" type="submit" name="sa" value="Search">
117              <br>
118              <span class="greytext">e.g. "page action" or "tabs"</span>
119            </div>
120          </form>
121
122          <script type="text/javascript" src="http://www.google.com/jsapi"></script>
123          <script type="text/javascript">google.load("elements", "1", {packages: "transliteration"});</script>
124          <script type="text/javascript" src="http://www.google.com/coop/cse/t13n?form=cse&t13n_langs=en"></script>
125          <script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=cse&lang=en"></script>
126        </td>
127      </tr>
128    </tbody></table>
129
130    <div id="codesiteContent" class="">
131
132      <a id="gc-topnav-anchor"></a>
133      <div id="gc-topnav">
134        <h1>Google Chrome Extensions (<a href="http://code.google.com/labs/">Labs</a>)</h1>
135        <ul id="home" class="gc-topnav-tabs">
136          <li id="home_link">
137            <a href="index.html" title="Google Chrome Extensions home page">Home</a>
138          </li>
139          <li id="docs_link">
140            <a href="docs.html" title="Official Google Chrome Extensions documentation">Docs</a>
141          </li>
142          <li id="faq_link">
143            <a href="faq.html" title="Answers to frequently asked questions about Google Chrome Extensions">FAQ</a>
144          </li>
145          <li id="samples_link">
146            <a href="samples.html" title="Sample extensions (with source code)">Samples</a>
147          </li>
148          <li id="group_link">
149            <a href="http://groups.google.com/a/chromium.org/group/chromium-extensions" title="Google Chrome Extensions developer forum">Group</a>
150          </li>
151        </ul>
152      </div> <!-- end gc-topnav -->
153
154    <div class="g-section g-tpl-170">
155      <!-- SIDENAV -->
156      <div class="g-unit g-first" id="gc-toc">
157        <ul>
158          <li><a href="getstarted.html">Getting Started</a></li>
159          <li><a href="overview.html">Overview</a></li>
160          <li><a href="whats_new.html">What's New?</a></li>
161          <li><h2><a href="devguide.html">Developer's Guide</a></h2>
162            <ul>
163              <li>Browser UI
164                <ul>
165                  <li><a href="browserAction.html">Browser Actions</a></li>
166                  <li><a href="contextMenus.html">Context Menus</a></li>
167                  <li><a href="notifications.html">Desktop Notifications</a></li>
168                  <li><a href="options.html">Options Pages</a></li>
169                  <li><a href="override.html">Override Pages</a></li>
170                  <li><a href="pageAction.html">Page Actions</a></li>
171                  <li><a href="themes.html">Themes</a></li>
172                </ul>
173              </li>
174              <li>Browser Interaction
175                <ul>
176                  <li><a href="bookmarks.html">Bookmarks</a></li>
177                  <li><a href="cookies.html">Cookies</a></li>
178                  <li><a href="events.html">Events</a></li>
179                  <li><a href="history.html">History</a></li>
180                  <li><a href="tabs.html">Tabs</a></li>
181                  <li><a href="windows.html">Windows</a></li>
182                </ul>
183              </li>
184              <li>Implementation
185                <ul>
186                  <li><a href="a11y.html">Accessibility</a></li>
187                  <li><a href="background_pages.html">Background Pages</a></li>
188                  <li><a href="content_scripts.html">Content Scripts</a></li>
189                  <li><a href="xhr.html">Cross-Origin XHR</a></li>
190                  <li><a href="idle.html">Idle</a></li>
191                  <li><a href="i18n.html">Internationalization</a></li>
192                  <li><a href="messaging.html">Message Passing</a></li>
193                  <li><a href="npapi.html">NPAPI Plugins</a></li>
194                </ul>
195              </li>
196              <li>Finishing
197                <ul>
198                  <li><a href="hosting.html">Hosting</a></li>
199                  <li><a href="external_extensions.html">Other Deployment Options</a></li>
200                </ul>
201              </li>
202            </ul>
203          </li>
204          <li><h2><a href="tutorials.html">Tutorials</a></h2>
205            <ul>
206              <li><a href="tut_debugging.html">Debugging</a></li>
207              <li><a href="tut_analytics.html">Google Analytics</a></li>
208              <li><a href="tut_oauth.html">OAuth</a></li>
209            </ul>
210          </li>
211          <li><h2>Reference</h2>
212            <ul>
213              <li>Formats
214                <ul>
215                  <li><a href="manifest.html">Manifest Files</a></li>
216                  <li><a href="match_patterns.html">Match Patterns</a></li>
217                  <!-- <li>Packages (.crx)</li> -->
218                </ul>
219              </li>
220              <li><a href="api_index.html">chrome.* APIs</a></li>
221              <li><a href="api_other.html">Other APIs</a></li>
222            </ul>
223          </li>
224         <li><h2><a href="samples.html">Samples</a></h2></li>
225        </ul>
226      </div>
227
228    <div class="g-unit" id="gc-pagecontent">
229      <div id="pageTitle">
230        <h1 class="page_title">chrome.experimental.infobars</h1>
231      </div>
232        <!-- TABLE OF CONTENTS -->
233        <div id="toc">
234          <h2>Contents</h2>
235          <ol>
236            <li>
237              <a href="#manifest">Manifest</a>
238              <ol>
239                <li style="display: none; ">
240                  <a>h3Name</a>
241                </li>
242              </ol>
243            </li>
244              <li>
245                <a href="#apiReference">API reference: chrome.experimental.infobars</a>
246                <ol>
247                  <li style="display: none; ">
248                    <a href="#properties">Properties</a>
249                    <ol>
250                      <li>
251                        <a href="#property-anchor">propertyName</a>
252                      </li>
253                    </ol>
254                  </li>
255                  <li>
256                    <a href="#methods">Methods</a>
257                    <ol>
258                      <li>
259                        <a href="#method-show">show</a>
260                      </li>
261                    </ol>
262                  </li>
263                  <li style="display: none; ">
264                    <a href="#events">Events</a>
265                    <ol>
266                      <li>
267                        <a href="#event-anchor">eventName</a>
268                      </li>
269                    </ol>
270                  </li>
271                  <li style="display: none; ">
272                    <a href="#types">Types</a>
273                    <ol>
274                      <li>
275                        <a href="#id-anchor">id</a>
276                      </li>
277                    </ol>
278                  </li>
279                </ol>
280              </li>
281          </ol>
282        </div>
283        <!-- /TABLE OF CONTENTS -->
284
285        <!-- Standard content lead-in for experimental API pages -->
286        <p id="classSummary">
287          For information on how to use experimental APIs, see the <a href="experimental.html">chrome.experimental.* APIs</a> page.
288        </p>
289
290        <!-- STATIC CONTENT PLACEHOLDER -->
291        <div id="static"><!-- BEGIN AUTHORED CONTENT -->
292<p>
293The infobars API allows you to add a
294horizontal panel just above a tab's contents,
295as the following screenshot shows.
296</p>
297
298<p>
299<img src="images/infobar.png" width="566" height="150" alt="An infobar asking whether the user wants to translate the current page">
300</p>
301
302<p>
303Use an infobar to tell the reader
304something about a particular page.
305When the user leaves the page for which the infobar is displayed,
306Google Chrome automatically closes the infobar.
307</p>
308
309<p>
310You implement the content of your
311infobar using HTML. Because infobars are ordinary pages inside an extension,
312they can
313<a href="overview.html#pageComm">communicate with other extension pages</a>.
314</p>
315
316
317<h2 id="manifest">Manifest</h2>
318
319<p>
320The infobars API is currently
321experimental, so you must declare the "experimental"
322permission to use it. Also, you should specify
323a 16x16-pixel icon for display next to your infobar.
324For example:
325</p>
326
327<pre>{
328  "name": "Andy's infobar extension",
329  "version": "1.0",
330  <b>"permissions": ["experimental"],</b>
331  <b>"icons": {</b>
332    <b>"16": "16.png"</b>
333  <b>},</b>
334  "background_page": "background.html"
335}</pre>
336
337<!-- END AUTHORED CONTENT -->
338</div>
339
340        <!-- API PAGE -->
341        <div class="apiPage">
342        <a name="apiReference"></a>
343        <h2>API reference: chrome.experimental.infobars</h2>
344
345          <!-- PROPERTIES -->
346          <div class="apiGroup" style="display: none; ">
347            <a name="properties"></a>
348            <h3 id="properties">Properties</h3>
349
350            <div>
351              <a></a>
352              <h4>getLastError</h4>
353              <div class="summary">
354                <!-- Note: intentionally longer 80 columns -->
355                <span>chrome.extension</span><span>lastError</span>
356              </div>
357              <div>
358              </div>
359            </div>
360
361          </div> <!-- /apiGroup -->
362
363          <!-- METHODS -->
364          <div class="apiGroup" id="methods">
365            <a name="methods"></a>
366            <h3>Methods</h3>
367
368            <!-- iterates over all functions -->
369            <div class="apiItem">
370              <a name="method-show"></a> <!-- method-anchor -->
371              <h4>show</h4>
372
373              <div class="summary"><span style="display: none; ">void</span>
374                  <!-- Note: intentionally longer 80 columns -->
375                  <span>chrome.experimental.infobars.show</span>(<span class="null"><span style="display: none; ">, </span><span>object</span>
376                      <var><span>details</span></var></span><span class="optional"><span>, </span><span>function</span>
377                      <var><span>callback</span></var></span>)</div>
378
379              <div class="description">
380                <p class="todo" style="display: none; ">Undocumented.</p>
381                <p>Shows an infobar in the specified tab. The infobar will be closed automatically when the tab navigates. Use window.close() to close the infobar before then.</p>
382
383                <!-- PARAMETERS -->
384                <h4>Parameters</h4>
385                <dl>
386                  <div>
387                    <div>
388          <dt>
389            <var>details</var>
390              <em>
391
392                <!-- TYPE -->
393                <div style="display:inline">
394                  (
395                    <span class="optional" style="display: none; ">optional</span>
396                    <span class="enum" style="display: none; ">enumerated</span>
397                    <span id="typeTemplate">
398                      <span style="display: none; ">
399                        <a> Type</a>
400                      </span>
401                      <span>
402                        <span style="display: none; ">
403                          array of <span><span></span></span>
404                        </span>
405                        <span>object</span>
406                        <span style="display: none; "></span>
407                      </span>
408                    </span>
409                  )
410                </div>
411
412              </em>
413          </dt>
414          <dd class="todo">
415            Undocumented.
416          </dd>
417          <dd style="display: none; ">
418            Description of this parameter from the json schema.
419          </dd>
420          <dd style="display: none; ">
421            This parameter was added in version
422            <b><span></span></b>.
423            You must omit this parameter in earlier versions,
424            and you may omit it in any version.  If you require this
425            parameter, the manifest key
426            <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a>
427            can ensure that your extension won't be run in an earlier browser version.
428          </dd>
429
430          <!-- OBJECT PROPERTIES -->
431          <dd>
432            <dl>
433              <div>
434                <div>
435          <dt>
436            <var>tabId</var>
437              <em>
438
439                <!-- TYPE -->
440                <div style="display:inline">
441                  (
442                    <span class="optional" style="display: none; ">optional</span>
443                    <span class="enum" style="display: none; ">enumerated</span>
444                    <span id="typeTemplate">
445                      <span style="display: none; ">
446                        <a> Type</a>
447                      </span>
448                      <span>
449                        <span style="display: none; ">
450                          array of <span><span></span></span>
451                        </span>
452                        <span>integer</span>
453                        <span style="display: none; "></span>
454                      </span>
455                    </span>
456                  )
457                </div>
458
459              </em>
460          </dt>
461          <dd class="todo" style="display: none; ">
462            Undocumented.
463          </dd>
464          <dd>The tab id for the tab to display the infobar in.</dd>
465          <dd style="display: none; ">
466            This parameter was added in version
467            <b><span></span></b>.
468            You must omit this parameter in earlier versions,
469            and you may omit it in any version.  If you require this
470            parameter, the manifest key
471            <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a>
472            can ensure that your extension won't be run in an earlier browser version.
473          </dd>
474
475          <!-- OBJECT PROPERTIES -->
476          <dd style="display: none; ">
477            <dl>
478              <div>
479                <div>
480                </div>
481              </div>
482            </dl>
483          </dd>
484
485          <!-- FUNCTION PARAMETERS -->
486          <dd style="display: none; ">
487            <div></div>
488          </dd>
489
490        </div>
491              </div><div>
492                <div>
493          <dt>
494            <var>path</var>
495              <em>
496
497                <!-- TYPE -->
498                <div style="display:inline">
499                  (
500                    <span class="optional" style="display: none; ">optional</span>
501                    <span class="enum" style="display: none; ">enumerated</span>
502                    <span id="typeTemplate">
503                      <span style="display: none; ">
504                        <a> Type</a>
505                      </span>
506                      <span>
507                        <span style="display: none; ">
508                          array of <span><span></span></span>
509                        </span>
510                        <span>string</span>
511                        <span style="display: none; "></span>
512                      </span>
513                    </span>
514                  )
515                </div>
516
517              </em>
518          </dt>
519          <dd class="todo" style="display: none; ">
520            Undocumented.
521          </dd>
522          <dd>The html file that contains the infobar.</dd>
523          <dd style="display: none; ">
524            This parameter was added in version
525            <b><span></span></b>.
526            You must omit this parameter in earlier versions,
527            and you may omit it in any version.  If you require this
528            parameter, the manifest key
529            <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a>
530            can ensure that your extension won't be run in an earlier browser version.
531          </dd>
532
533          <!-- OBJECT PROPERTIES -->
534          <dd style="display: none; ">
535            <dl>
536              <div>
537                <div>
538                </div>
539              </div>
540            </dl>
541          </dd>
542
543          <!-- FUNCTION PARAMETERS -->
544          <dd style="display: none; ">
545            <div></div>
546          </dd>
547
548        </div>
549              </div>
550            </dl>
551          </dd>
552
553          <!-- FUNCTION PARAMETERS -->
554          <dd style="display: none; ">
555            <div></div>
556          </dd>
557
558        </div>
559                  </div><div>
560                    <div>
561          <dt>
562            <var>callback</var>
563              <em>
564
565                <!-- TYPE -->
566                <div style="display:inline">
567                  (
568                    <span class="optional">optional</span>
569                    <span class="enum" style="display: none; ">enumerated</span>
570                    <span id="typeTemplate">
571                      <span style="display: none; ">
572                        <a> Type</a>
573                      </span>
574                      <span>
575                        <span style="display: none; ">
576                          array of <span><span></span></span>
577                        </span>
578                        <span>function</span>
579                        <span style="display: none; "></span>
580                      </span>
581                    </span>
582                  )
583                </div>
584
585              </em>
586          </dt>
587          <dd class="todo">
588            Undocumented.
589          </dd>
590          <dd style="display: none; ">
591            Description of this parameter from the json schema.
592          </dd>
593          <dd style="display: none; ">
594            This parameter was added in version
595            <b><span></span></b>.
596            You must omit this parameter in earlier versions,
597            and you may omit it in any version.  If you require this
598            parameter, the manifest key
599            <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a>
600            can ensure that your extension won't be run in an earlier browser version.
601          </dd>
602
603          <!-- OBJECT PROPERTIES -->
604          <dd style="display: none; ">
605            <dl>
606              <div>
607                <div>
608                </div>
609              </div>
610            </dl>
611          </dd>
612
613          <!-- FUNCTION PARAMETERS -->
614          <dd style="display: none; ">
615            <div></div>
616          </dd>
617
618        </div>
619                  </div>
620                </dl>
621
622                <!-- RETURNS -->
623                <h4 style="display: none; ">Returns</h4>
624                <dl>
625                  <div style="display: none; ">
626                    <div>
627                    </div>
628                  </div>
629                </dl>
630
631                <!-- CALLBACK -->
632                <div>
633                  <div>
634                  <h4>Callback function</h4>
635                  <p style="display: none; ">
636                    The callback <em>parameter</em> should specify a function
637                    that looks like this:
638                  </p>
639                  <p>
640                    If you specify the <em>callback</em> parameter, it should
641                    specify a function that looks like this:
642                  </p>
643
644                  <!-- Note: intentionally longer 80 columns -->
645                  <pre>function(<span>Window window</span>) <span class="subdued">{...}</span>;</pre>
646                  <dl>
647                    <div>
648                      <div>
649          <dt>
650            <var>window</var>
651              <em>
652
653                <!-- TYPE -->
654                <div style="display:inline">
655                  (
656                    <span class="optional" style="display: none; ">optional</span>
657                    <span class="enum" style="display: none; ">enumerated</span>
658                    <span id="typeTemplate">
659                      <span>
660                        <a href="windows.html#type-Window">Window</a>
661                      </span>
662                      <span style="display: none; ">
663                        <span>
664                          array of <span><span></span></span>
665                        </span>
666                        <span>paramType</span>
667                        <span></span>
668                      </span>
669                    </span>
670                  )
671                </div>
672
673              </em>
674          </dt>
675          <dd class="todo" style="display: none; ">
676            Undocumented.
677          </dd>
678          <dd>Contains details about the window in which the infobar was created.</dd>
679          <dd style="display: none; ">
680            This parameter was added in version
681            <b><span></span></b>.
682            You must omit this parameter in earlier versions,
683            and you may omit it in any version.  If you require this
684            parameter, the manifest key
685            <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a>
686            can ensure that your extension won't be run in an earlier browser version.
687          </dd>
688
689          <!-- OBJECT PROPERTIES -->
690          <dd style="display: none; ">
691            <dl>
692              <div>
693                <div>
694                </div>
695              </div>
696            </dl>
697          </dd>
698
699          <!-- FUNCTION PARAMETERS -->
700          <dd style="display: none; ">
701            <div></div>
702          </dd>
703
704        </div>
705                    </div>
706                  </dl>
707                  </div>
708                </div>
709
710                <!-- MIN_VERSION -->
711                <p style="display: none; ">
712                  This function was added in version <b><span></span></b>.
713                  If you require this function, the manifest key
714                  <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a>
715                  can ensure that your extension won't be run in an earlier browser version.
716                </p>
717              </div> <!-- /description -->
718
719            </div>  <!-- /apiItem -->
720
721          </div>  <!-- /apiGroup -->
722
723          <!-- EVENTS -->
724          <div class="apiGroup" style="display: none; ">
725            <a name="events"></a>
726            <h3 id="events">Events</h3>
727
728            <!-- iterates over all events -->
729            <div class="apiItem">
730              <a></a>
731              <h4>event name</h4>
732
733              <div class="summary">
734                <!-- Note: intentionally longer 80 columns -->
735                <span class="subdued">chrome.bookmarks</span><span>onEvent</span><span class="subdued">.addListener</span>(function(<span>Type param1, Type param2</span>) <span class="subdued">{...}</span>);
736              </div>
737
738              <div class="description">
739                <p class="todo">Undocumented.</p>
740                <p>
741                  A description from the json schema def of the event goes here.
742                </p>
743
744                <!-- PARAMETERS -->
745                <h4>Parameters</h4>
746                <dl>
747                  <div>
748                    <div>
749                    </div>
750                  </div>
751                </dl>
752
753              </div> <!-- /decription -->
754
755            </div> <!-- /apiItem -->
756
757          </div> <!-- /apiGroup -->
758
759          <!-- TYPES -->
760          <div class="apiGroup" style="display: none; ">
761            <a name="types"></a>
762            <h3 id="types">Types</h3>
763
764            <!-- iterates over all types -->
765            <div class="apiItem">
766              <a></a>
767              <h4>type name</h4>
768
769              <div>
770              </div>
771
772            </div> <!-- /apiItem -->
773
774          </div> <!-- /apiGroup -->
775
776        </div> <!-- /apiPage -->
777      </div> <!-- /gc-pagecontent -->
778    </div> <!-- /g-section -->
779  </div> <!-- /codesiteContent -->
780    <div id="gc-footer" --="">
781      <div class="text">
782  <p>
783  Except as otherwise <a href="http://code.google.com/policies.html#restrictions">noted</a>,
784  the content of this page is licensed under the <a rel="license" href="http://creativecommons.org/licenses/by/3.0/">Creative Commons
785  Attribution 3.0 License</a>, and code samples are licensed under the
786  <a rel="license" href="http://code.google.com/google_bsd_license.html">BSD License</a>.
787  </p>
788  <p>
789  ©2010 Google
790  </p>
791
792<!-- begin analytics -->
793<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script>
794<script src="http://www.google-analytics.com/ga.js" type="text/javascript"></script>
795
796<script type="text/javascript">
797  // chrome doc tracking
798  try {
799    var engdocs = _gat._getTracker("YT-10763712-2");
800    engdocs._trackPageview();
801  } catch(err) {}
802
803  // code.google.com site-wide tracking
804  try {
805    _uacct="UA-18071-1";
806    _uanchor=1;
807    _uff=0;
808    urchinTracker();
809  }
810  catch(e) {/* urchinTracker not available. */}
811</script>
812<!-- end analytics -->
813      </div>
814    </div> <!-- /gc-footer -->
815  </div> <!-- /gc-container -->
816</body></html>
817