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

Unified Diff: chrome/common/extensions/docs/background_pages.html

Issue 10642015: Basic setup for generating app docs (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix 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 side-by-side diff with in-line comments
Download patch
Index: chrome/common/extensions/docs/background_pages.html
diff --git a/chrome/common/extensions/docs/background_pages.html b/chrome/common/extensions/docs/background_pages.html
deleted file mode 100644
index ddc64f39b87388e318a61d6146e3882fe64d3674..0000000000000000000000000000000000000000
--- a/chrome/common/extensions/docs/background_pages.html
+++ /dev/null
@@ -1,385 +0,0 @@
-<!DOCTYPE html><!-- This page is a placeholder for generated extensions api doc. Note:
- 1) The <head> information in this page is significant, should be uniform
- across api docs and should be edited only with knowledge of the
- templating mechanism.
- 3) All <body>.innerHTML is genereated as an rendering step. If viewed in a
- browser, it will be re-generated from the template, json schema and
- authored overview content.
- 4) The <body>.innerHTML is also generated by an offline step so that this
- page may easily be indexed by search engines.
---><html xmlns="http://www.w3.org/1999/xhtml"><head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <link href="css/ApiRefStyles.css" rel="stylesheet" type="text/css">
- <link href="css/print.css" rel="stylesheet" type="text/css" media="print">
- <script type="text/javascript" src="../../../third_party/jstemplate/jstemplate_compiled.js">
- </script>
- <script type="text/javascript" src="../../../../third_party/json_minify/minify-sans-regexp.js">
- </script>
- <script type="text/javascript" src="js/api_page_generator.js"></script>
- <script type="text/javascript" src="js/bootstrap.js"></script>
- <script type="text/javascript" src="js/sidebar.js"></script>
- <title>Background Pages - Google Chrome Extensions - Google Code</title></head>
- <body> <div id="devModeWarning" class="displayModeWarning">
- 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.
- </div>
- <div id="branchWarning" class="displayModeWarning">
- <span>WARNING: This is the <span id="branchName">BETA</span> documentation.
- It may not work with the stable release of Chrome.</span>
- <select id="branchChooser">
- <option>Choose a different version...
- </option><option value="">Stable
- </option><option value="beta">Beta
- </option><option value="dev">Dev
- </option><option value="trunk">Trunk
- </option></select>
- </div>
- <div id="unofficialWarning" class="displayModeWarning">
- <span>WARNING: This is unofficial documentation. It may not work with the
- current release of Chrome.</span>
- <button id="goToOfficialDocs">Go to the official docs</button>
- </div>
- <div id="gc-container" class="labs">
- <!-- SUBTEMPLATES: DO NOT MOVE FROM THIS LOCATION -->
- <!-- In particular, sub-templates that recurse, must be used by allowing
- jstemplate to make a copy of the template in this section which
- are not operated on by way of the jsskip="true" -->
- <!-- /SUBTEMPLATES -->
- <a id="top"></a>
- <div id="skipto">
- <a href="#gc-pagecontent">Skip to page content</a>
- <a href="#gc-toc">Skip to main navigation</a>
- </div>
- <!-- API HEADER -->
- <table id="header" width="100%" cellspacing="0" border="0">
- <tbody><tr>
- <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>
- <td valign="middle" width="100%" style="padding-left:0.6em;">
- <form action="http://www.google.com/cse" id="cse" style="margin-top:0.5em">
- <div id="gsc-search-box">
- <input type="hidden" name="cx" value="002967670403910741006:61_cvzfqtno">
- <input type="hidden" name="ie" value="UTF-8">
- <input type="text" name="q" value="" size="55">
- <input class="gsc-search-button" type="submit" name="sa" value="Search">
- <br>
- <span class="greytext">e.g. "page action" or "tabs"</span>
- </div>
- </form>
- <script type="text/javascript" src="https://www.google.com/jsapi"></script>
- <script type="text/javascript">google.load("elements", "1", {packages: "transliteration"});</script>
- <script type="text/javascript" src="https://www.google.com/coop/cse/t13n?form=cse&amp;t13n_langs=en"></script>
- <script type="text/javascript" src="https://www.google.com/coop/cse/brand?form=cse&amp;lang=en"></script>
- </td>
- </tr>
- </tbody></table>
- <div id="codesiteContent" class="">
- <a id="gc-topnav-anchor"></a>
- <div id="gc-topnav">
- <h1>Google Chrome Extensions (<a href="http://code.google.com/labs/">Labs</a>)</h1>
- <ul id="home" class="gc-topnav-tabs">
- <li id="home_link">
- <a href="index.html" title="Google Chrome Extensions home page">Home</a>
- </li>
- <li id="docs_link">
- <a href="docs.html" title="Official Google Chrome Extensions documentation">Docs</a>
- </li>
- <li id="faq_link">
- <a href="faq.html" title="Answers to frequently asked questions about Google Chrome Extensions">FAQ</a>
- </li>
- <li id="samples_link">
- <a href="samples.html" title="Sample extensions (with source code)">Samples</a>
- </li>
- <li id="group_link">
- <a href="http://groups.google.com/a/chromium.org/group/chromium-extensions" title="Google Chrome Extensions developer forum">Group</a>
- </li>
- <li id="so_link">
- <a href="http://stackoverflow.com/questions/tagged/google-chrome-extension" title="[google-chrome-extension] tag on Stack Overflow">Questions?</a>
- </li>
- </ul>
- </div> <!-- end gc-topnav -->
- <div class="g-section g-tpl-170">
- <!-- SIDENAV -->
- <div class="g-unit g-first" id="gc-toc">
- <ul>
- <li><a href="getstarted.html">Getting Started</a></li>
- <li><a href="overview.html">Overview</a></li>
- <li><a href="whats_new.html">What's New?</a></li>
- <li><h2><a href="devguide.html">Developer's Guide</a></h2>
- <ul>
- <li>Browser UI
- <ul>
- <li><a href="browserAction.html">Browser Actions</a></li>
- <li><a href="contextMenus.html">Context Menus</a></li>
- <li><a href="notifications.html">Desktop Notifications</a></li>
- <li><a href="omnibox.html">Omnibox</a></li>
- <li><a href="options.html">Options Pages</a></li>
- <li><a href="override.html">Override Pages</a></li>
- <li><a href="pageAction.html">Page Actions</a></li>
- </ul>
- </li>
- <li>Browser Interaction
- <ul>
- <li><a href="bookmarks.html">Bookmarks</a></li>
- <li><a href="cookies.html">Cookies</a></li>
- <li><a href="devtools.html">Developer Tools</a></li>
- <li><a href="events.html">Events</a></li>
- <li><a href="history.html">History</a></li>
- <li><a href="management.html">Management</a></li>
- <li><a href="tabs.html">Tabs</a></li>
- <li><a href="windows.html">Windows</a></li>
- </ul>
- </li>
- <li>Implementation
- <ul>
- <li><a href="a11y.html">Accessibility</a></li>
- <li class="leftNavSelected">Background Pages</li>
- <li><a href="content_scripts.html">Content Scripts</a></li>
- <li><a href="xhr.html">Cross-Origin XHR</a></li>
- <li><a href="i18n.html">Internationalization</a></li>
- <li><a href="messaging.html">Message Passing</a></li>
- <li><a href="permissions.html">Optional Permissions</a></li>
- <li><a href="npapi.html">NPAPI Plugins</a></li>
- </ul>
- </li>
- <li>Finishing
- <ul>
- <li><a href="hosting.html">Hosting</a></li>
- <li><a href="external_extensions.html">Other Deployment Options</a></li>
- </ul>
- </li>
- </ul>
- </li>
- <li><h2><a href="apps.html">Packaged Apps</a></h2></li>
- <li><h2><a href="tutorials.html">Tutorials</a></h2>
- <ul>
- <li><a href="tut_debugging.html">Debugging</a></li>
- <li><a href="tut_analytics.html">Google Analytics</a></li>
- <li><a href="tut_oauth.html">OAuth</a></li>
- </ul>
- </li>
- <li><h2>Reference</h2>
- <ul>
- <li>Formats
- <ul>
- <li><a href="manifest.html">Manifest Files</a></li>
- <li><a href="match_patterns.html">Match Patterns</a></li>
- </ul>
- </li>
- <li><a href="permission_warnings.html">Permission Warnings</a></li>
- <li><a href="api_index.html">chrome.* APIs</a></li>
- <li><a href="api_other.html">Other APIs</a></li>
- </ul>
- </li>
- <li><h2><a href="samples.html">Samples</a></h2></li>
- <div class="line"> </div>
- <li><h2>More</h2>
- <ul>
- <li><a href="http://code.google.com/chrome/webstore/docs/index.html">Chrome Web Store</a></li>
- <li><a href="http://code.google.com/chrome/apps/docs/developers_guide.html">Hosted Apps</a></li>
- <li><a href="themes.html">Themes</a></li>
- </ul>
- </li>
- </ul>
- </div>
- <script>
- initToggles();
- </script>
- <div class="g-unit" id="gc-pagecontent">
- <div id="pageTitle">
- <h1 class="page_title">Background Pages</h1>
- </div>
- <!-- TABLE OF CONTENTS -->
- <div id="toc">
- <h2>Contents</h2>
- <ol>
- <li>
- <a href="#manifest">Manifest</a>
- <ol>
- </ol>
- </li><li>
- <a href="#H2-1">Details</a>
- <ol>
- </ol>
- </li><li>
- <a href="#example">Example</a>
- <ol>
- </ol>
- </li>
- </ol>
- </div>
- <!-- /TABLE OF CONTENTS -->
- <!-- Standard content lead-in for experimental API pages -->
- <!-- STATIC CONTENT PLACEHOLDER -->
- <div id="static"><div id="pageData-name" class="pageData">Background Pages</div>
-<div id="pageData-showTOC" class="pageData">true</div>
-<p id="eventPageWarning" class="warning">
- <em>Caution:</em> Consider using event pages instead.
- <a href="event_pages.html">Learn more</a>.
-</p>
-<p>
-A common need for extensions is to have
-a single long-running script to manage some task or state.
-Background pages to the rescue.
-</p>
-<p>
-As the <a href="overview.html#arch">architecture overview</a> explains,
-the background page is an HTML page that runs in the extension process.
-It exists for the lifetime of your extension,
-and only one instance of it at a time is active.
-</p>
-<p>
-In a typical extension with a background page,
-the UI —
-for example, the browser action or page action
-and any options page —
-is implemented by dumb views.
-When the view needs some state,
-it requests the state from the background page.
-When the background page notices a state change,
-the background page tells the views to update.
-</p>
-<h2 id="manifest">Manifest</h2>
-<p>
-Register your background page in the
-<a href="manifest.html">extension manifest</a>.
-In the common case, a background page
-does not require any HTML markup.
-These kind of background pages can be
-implemented using JavaScript files alone,
-like this:
-</p>
-<pre>{
- "name": "My extension",
- ...
- <b>"background": {
- "scripts": ["background.js"]
- }</b>,
- ...
-}</pre>
-<p>
-A background page will be generated
-by the extension system
-that includes each of the files listed
-in the <code>scripts</code> property.
-</p>
-<p>
-If you need to specify HTML
-in your background page, you can
-do that using the <code>page</code>
-property instead:
-</p>
-<pre>{
- "name": "My extension",
- ...
- <b>"background": {
- "page": "background.html"
- }</b>,
- ...
-}</pre>
-<p>
-If you need the browser to start up early—so
-you can display notifications, for example—then
-you might also want to specify the
-<a href="manifest.html#permissions">"background" permission</a>.
-</p>
-<a name="H2-1"></a><h2>Details</h2>
-<p>
-You can communicate between your various pages using direct script calls,
-similar to how frames can communicate.
-The <a href="extension.html#method-getViews"><code>chrome.extension.getViews()</code></a> method
-returns a list of window objects
-for every active page belonging to your extension,
-and the
-<a href="extension.html#method-getBackgroundPage"><code>chrome.extension.getBackgroundPage()</code></a> method
-returns the background page.
-</p>
-<h2 id="example">Example</h2>
-<p>
-The following code snippet demonstrates
-how the background page
-can interact with other pages in the extension.
-It also shows how you can use
-the background page to handle events
-such as user clicks.
-</p>
-<p>
-The extension in this example
-has a background page
-and multiple pages created
-(with
-<a href="tabs.html#method-create"><code>chrome.tabs.create()</code></a>)
-from a file named <code>image.html</code>.
-<!-- [PENDING: Once we have our set of samples, we should point to the example this is from and to other relevant examples. This is currently untested code derived from the screenshot sample.] -->
-</p>
-<pre><em>//In background.js:</em>
-// React when a browser action's icon is clicked.
-chrome.browserAction.onClicked.addListener(function(tab) {
- var viewTabUrl = chrome.extension.getURL('image.html');
- var imageUrl = <em>/* an image's URL */</em>;
- // Look through all the pages in this extension to find one we can use.
- var views = chrome.extension.getViews();
- for (var i = 0; i &lt; views.length; i++) {
- var view = views[i];
- // If this view has the right URL and hasn't been used yet...
- if (view.location.href == viewTabUrl &amp;&amp; !view.imageAlreadySet) {
- // ...call one of its functions and set a property.
- view.setImageUrl(imageUrl);
- view.imageAlreadySet = true;
- break; // we're done
- }
- }
-});
-<em>//In image.html:</em>
-&lt;html&gt;
- &lt;script&gt;
- function setImageUrl(url) {
- document.getElementById('target').src = url;
- }
- &lt;/script&gt;
- &lt;body&gt;
- &lt;p&gt;
- Image here:
- &lt;/p&gt;
- &lt;img id="target" src="white.png" width="640" height="480"&gt;
- &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-</div>
- <!-- API PAGE -->
- <!-- /apiPage -->
- </div> <!-- /gc-pagecontent -->
- </div> <!-- /g-section -->
- </div> <!-- /codesiteContent -->
- <div id="gc-footer" --="">
- <div class="text">
- <p>
- Except as otherwise <a href="http://code.google.com/policies.html#restrictions">noted</a>,
- the content of this page is licensed under the <a rel="license" href="http://creativecommons.org/licenses/by/3.0/">Creative Commons
- Attribution 3.0 License</a>, and code samples are licensed under the
- <a rel="license" href="http://code.google.com/google_bsd_license.html">BSD License</a>.
- </p>
- <p>
- ©2011 Google
- </p>
-<!-- begin analytics -->
-<script src="https://www.google-analytics.com/urchin.js" type="text/javascript"></script>
-<script src="https://www.google-analytics.com/ga.js" type="text/javascript"></script>
-<script type="text/javascript">
- // chrome doc tracking
- try {
- var engdocs = _gat._getTracker("YT-10763712-2");
- engdocs._trackPageview();
- } catch(err) {}
- // code.google.com site-wide tracking
- try {
- _uacct="UA-18071-1";
- _uanchor=1;
- _uff=0;
- urchinTracker();
- }
- catch(e) {/* urchinTracker not available. */}
-</script>
-<!-- end analytics -->
- </div>
- </div> <!-- /gc-footer -->
- </div> <!-- /gc-container -->
-</body></html>

Powered by Google App Engine
This is Rietveld 408576698