Add keybindings and webRequest examples to the transient background page

example.

BUG=no
TEST=no


Review URL: http://codereview.chromium.org/10134040

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@133823 0039d316-1c4b-4281-b951-d872f2087c98
parent ef067746
...@@ -19,10 +19,19 @@ chrome.browserAction.setBadgeText({text: "ON"}); ...@@ -19,10 +19,19 @@ chrome.browserAction.setBadgeText({text: "ON"});
console.log("Loaded."); console.log("Loaded.");
chrome.experimental.runtime.onInstalled.addListener(function() { chrome.experimental.runtime.onInstalled.addListener(function() {
console.log("Installed.");
// localStorage is persisted, so it's a good place to keep state that you // localStorage is persisted, so it's a good place to keep state that you
// need to persist across page reloads. // need to persist across page reloads.
localStorage.counter = 1; localStorage.counter = 1;
console.log("Installed.");
// Register a webRequest rule to redirect bing to google.
var wr = chrome.experimental.webRequest;
chrome.experimental.webRequest.onRequest.addRules([{
id: "0",
conditions: [new wr.RequestMatcher({url: {hostSuffix: "bing.com"}})],
actions: [new wr.RedirectRequest({redirectUrl: "http://google.com"})]
}]);
}); });
chrome.bookmarks.onRemoved.addListener(function(id, info) { chrome.bookmarks.onRemoved.addListener(function(id, info) {
...@@ -41,6 +50,10 @@ chrome.browserAction.onClicked.addListener(function() { ...@@ -41,6 +50,10 @@ chrome.browserAction.onClicked.addListener(function() {
}); });
}); });
chrome.experimental.keybinding.onCommand.addListener(function(command) {
chrome.tabs.create({url: "http://www.google.com/"});
});
chrome.extension.onMessage.addListener(function(msg, _, sendResponse) { chrome.extension.onMessage.addListener(function(msg, _, sendResponse) {
if (msg.setAlarm) { if (msg.setAlarm) {
chrome.experimental.alarms.create({delayInSeconds: 5}); chrome.experimental.alarms.create({delayInSeconds: 5});
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
"description": "Demonstrates usage and features of the transient page", "description": "Demonstrates usage and features of the transient page",
"version": "1.0", "version": "1.0",
"manifest_version": 2, "manifest_version": 2,
"permissions": ["tabs", "bookmarks", "experimental", "http://*.google.com/*"], "permissions": ["tabs", "bookmarks", "experimental", "keybinding", "http://*.google.com/*"],
"background": { "background": {
"scripts": ["background.js"], "scripts": ["background.js"],
"transient": true "transient": true
...@@ -11,5 +11,14 @@ ...@@ -11,5 +11,14 @@
"browser_action": { "browser_action": {
"default_icon" : "icon.png", "default_icon" : "icon.png",
"default_title": "Start Transient Page" "default_title": "Start Transient Page"
},
"commands": {
"open-google": {
"description": "Open a tab to google.com",
"suggested_key": { "default": "Ctrl+Shift+L" }
},
"_execute_browser_action": {
"suggested_key": { "default": "Ctrl+Shift+K" }
}
} }
} }
...@@ -258,7 +258,7 @@ ...@@ -258,7 +258,7 @@
"04f5d2ddea95746b0200be1ea223ccb7a748a771": "TALKING ALARM CLOCK A CLOCK WITH TWO CONFIGURABLE ALARMS THAT WILL PLAY A SOUND AND SPEAK A PHRASE OF YOUR CHOICE. BACKGROUND BACKGROUND_PAGE BROWSER_ACTION TTS CHROME.BROWSERACTION.SETICON CHROME.EXTENSION.CONNECT CHROME.EXTENSION.ONCONNECT CHROME.TTS.GETVOICES CHROME.TTS.SPEAK CHROME.TTS.STOP", "04f5d2ddea95746b0200be1ea223ccb7a748a771": "TALKING ALARM CLOCK A CLOCK WITH TWO CONFIGURABLE ALARMS THAT WILL PLAY A SOUND AND SPEAK A PHRASE OF YOUR CHOICE. BACKGROUND BACKGROUND_PAGE BROWSER_ACTION TTS CHROME.BROWSERACTION.SETICON CHROME.EXTENSION.CONNECT CHROME.EXTENSION.ONCONNECT CHROME.TTS.GETVOICES CHROME.TTS.SPEAK CHROME.TTS.STOP",
"e1697cacebad05218798bf3e8a0f724517f0e8c3": "TEST SCREENSHOT EXTENSION DEMONSTRATE SCREENSHOT FUNCTIONALITY IN THE CHROME.TABS API. NOTE: ONLY WORKS FOR CODE.GOOGLE.COM BACKGROUND_PAGE BROWSER_ACTION TABS CHROME.BROWSERACTION.ONCLICKED CHROME.EXTENSION.GETURL CHROME.EXTENSION.GETVIEWS CHROME.TABS.CAPTUREVISIBLETAB CHROME.TABS.CREATE CHROME.TABS.ONUPDATED", "e1697cacebad05218798bf3e8a0f724517f0e8c3": "TEST SCREENSHOT EXTENSION DEMONSTRATE SCREENSHOT FUNCTIONALITY IN THE CHROME.TABS API. NOTE: ONLY WORKS FOR CODE.GOOGLE.COM BACKGROUND_PAGE BROWSER_ACTION TABS CHROME.BROWSERACTION.ONCLICKED CHROME.EXTENSION.GETURL CHROME.EXTENSION.GETVIEWS CHROME.TABS.CAPTUREVISIBLETAB CHROME.TABS.CREATE CHROME.TABS.ONUPDATED",
"e8ac89b4015052cf11436985399129c927f972aa": "TOP CHROME EXTENSION QUESTIONS SAMPLE DEMONSTRATION OF THE OPTIONAL PERMISSIONS API. BROWSER_ACTION EXPERIMENTAL OPTIONS_PAGE CHROME.PERMISSIONS.CONTAINS CHROME.PERMISSIONS.ONADDED CHROME.PERMISSIONS.ONREMOVED CHROME.PERMISSIONS.REMOVE CHROME.PERMISSIONS.REQUEST CHROME.TABS.CREATE", "e8ac89b4015052cf11436985399129c927f972aa": "TOP CHROME EXTENSION QUESTIONS SAMPLE DEMONSTRATION OF THE OPTIONAL PERMISSIONS API. BROWSER_ACTION EXPERIMENTAL OPTIONS_PAGE CHROME.PERMISSIONS.CONTAINS CHROME.PERMISSIONS.ONADDED CHROME.PERMISSIONS.ONREMOVED CHROME.PERMISSIONS.REMOVE CHROME.PERMISSIONS.REQUEST CHROME.TABS.CREATE",
"7db846942d754cb51d0fd1fcb60a97fa4f1e21ad": "TRANSIENT PAGE EXAMPLE DEMONSTRATES USAGE AND FEATURES OF THE TRANSIENT PAGE BACKGROUND_PAGE BOOKMARKS BROWSER_ACTION EXPERIMENTAL TABS CHROME.BOOKMARKS.ONREMOVED CHROME.BROWSERACTION.ONCLICKED CHROME.BROWSERACTION.SETBADGETEXT CHROME.EXPERIMENTAL.ALARMS.CREATE CHROME.EXPERIMENTAL.ALARMS.ONALARM CHROME.EXPERIMENTAL.RUNTIME.ONBACKGROUNDPAGEUNLOADINGSOON CHROME.EXPERIMENTAL.RUNTIME.ONINSTALLED CHROME.EXTENSION.ONMESSAGE CHROME.EXTENSION.SENDMESSAGE CHROME.TABS.EXECUTESCRIPT CHROME.TABS.QUERY CHROME.TABS.SENDMESSAGE", "7db846942d754cb51d0fd1fcb60a97fa4f1e21ad": "TRANSIENT PAGE EXAMPLE DEMONSTRATES USAGE AND FEATURES OF THE TRANSIENT PAGE BACKGROUND_PAGE BOOKMARKS BROWSER_ACTION EXPERIMENTAL KEYBINDING TABS CHROME.BOOKMARKS.ONREMOVED CHROME.BROWSERACTION.ONCLICKED CHROME.BROWSERACTION.SETBADGETEXT CHROME.EXPERIMENTAL.ALARMS.CREATE CHROME.EXPERIMENTAL.ALARMS.ONALARM CHROME.EXPERIMENTAL.KEYBINDING.ONCOMMAND CHROME.EXPERIMENTAL.RUNTIME.ONBACKGROUNDPAGEUNLOADINGSOON CHROME.EXPERIMENTAL.RUNTIME.ONINSTALLED CHROME.EXPERIMENTAL.WEBREQUEST.ONREQUEST CHROME.EXTENSION.ONMESSAGE CHROME.EXTENSION.SENDMESSAGE CHROME.TABS.CREATE CHROME.TABS.EXECUTESCRIPT CHROME.TABS.QUERY CHROME.TABS.SENDMESSAGE",
"1d192cce77438e1a90383a6a3a6b28f29961ffa4": "TTS DEBUG TOOL FOR DEVELOPERS OF CHROME TTS ENGINE EXTENSIONS TO HELP THEM TEST THEIR ENGINES ARE IMPLEMENTING THE API CORRECTLY. TTS CHROME.TTS.GETVOICES CHROME.TTS.SPEAK CHROME.TTS.STOP", "1d192cce77438e1a90383a6a3a6b28f29961ffa4": "TTS DEBUG TOOL FOR DEVELOPERS OF CHROME TTS ENGINE EXTENSIONS TO HELP THEM TEST THEIR ENGINES ARE IMPLEMENTING THE API CORRECTLY. TTS CHROME.TTS.GETVOICES CHROME.TTS.SPEAK CHROME.TTS.STOP",
"3a1baf15462bdae4d886c2da4ff8f35f4e8ce02f": "TTS DEMO DEMO CHROMES SYNTHESIZED TEXT-TO-SPEECH CAPABILITIES. TTS CHROME.TTS.GETVOICES CHROME.TTS.ISSPEAKING CHROME.TTS.SPEAK CHROME.TTS.STOP", "3a1baf15462bdae4d886c2da4ff8f35f4e8ce02f": "TTS DEMO DEMO CHROMES SYNTHESIZED TEXT-TO-SPEECH CAPABILITIES. TTS CHROME.TTS.GETVOICES CHROME.TTS.ISSPEAKING CHROME.TTS.SPEAK CHROME.TTS.STOP",
"b3de91ab04b7d7a2670ca7ee9d740eb42cead0b6": "TYPED URL HISTORY READS YOUR HISTORY, AND SHOWS THE TOP TEN PAGES YOU GO TO BY TYPING THE URL. BROWSER_ACTION HISTORY TABS CHROME.HISTORY.GETVISITS CHROME.HISTORY.SEARCH CHROME.TABS.CREATE", "b3de91ab04b7d7a2670ca7ee9d740eb42cead0b6": "TYPED URL HISTORY READS YOUR HISTORY, AND SHOWS THE TOP TEN PAGES YOU GO TO BY TYPING THE URL. BROWSER_ACTION HISTORY TABS CHROME.HISTORY.GETVISITS CHROME.HISTORY.SEARCH CHROME.TABS.CREATE",
...@@ -3573,7 +3573,9 @@ ...@@ -3573,7 +3573,9 @@
</span><span> </span><span>
<strong>browser_action</strong><span>, </span> <strong>browser_action</strong><span>, </span>
</span><span> </span><span>
<strong>experimental</strong> <strong>experimental</strong><span>, </span>
</span><span>
<strong>keybinding</strong>
<span> and</span> <span> and</span>
</span><span> </span><span>
<strong>tabs</strong> <strong>tabs</strong>
...@@ -3592,14 +3594,20 @@ ...@@ -3592,14 +3594,20 @@
<code><a href="experimental.alarms.html#method-create">chrome.experimental.alarms.create</a></code> <code><a href="experimental.alarms.html#method-create">chrome.experimental.alarms.create</a></code>
</li><li> </li><li>
<code><a href="experimental.alarms.html#event-onAlarm">chrome.experimental.alarms.onAlarm</a></code> <code><a href="experimental.alarms.html#event-onAlarm">chrome.experimental.alarms.onAlarm</a></code>
</li><li>
<code><a href="experimental.keybinding.html#event-onCommand">chrome.experimental.keybinding.onCommand</a></code>
</li><li> </li><li>
<code><a href="experimental.runtime.html#event-onBackgroundPageUnloadingSoon">chrome.experimental.runtime.onBackgroundPageUnloadingSoon</a></code> <code><a href="experimental.runtime.html#event-onBackgroundPageUnloadingSoon">chrome.experimental.runtime.onBackgroundPageUnloadingSoon</a></code>
</li><li> </li><li>
<code><a href="experimental.runtime.html#event-onInstalled">chrome.experimental.runtime.onInstalled</a></code> <code><a href="experimental.runtime.html#event-onInstalled">chrome.experimental.runtime.onInstalled</a></code>
</li><li>
<code><a href="experimental.webRequest.html#event-onRequest">chrome.experimental.webRequest.onRequest</a></code>
</li><li> </li><li>
<code><a href="extension.html#event-onMessage">chrome.extension.onMessage</a></code> <code><a href="extension.html#event-onMessage">chrome.extension.onMessage</a></code>
</li><li> </li><li>
<code><a href="extension.html#method-sendMessage">chrome.extension.sendMessage</a></code> <code><a href="extension.html#method-sendMessage">chrome.extension.sendMessage</a></code>
</li><li>
<code><a href="tabs.html#method-create">chrome.tabs.create</a></code>
</li><li> </li><li>
<code><a href="tabs.html#method-executeScript">chrome.tabs.executeScript</a></code> <code><a href="tabs.html#method-executeScript">chrome.tabs.executeScript</a></code>
</li><li> </li><li>
......
...@@ -960,7 +960,7 @@ ...@@ -960,7 +960,7 @@
"manager.js", "manager.js",
"manifest.json" "manifest.json"
], ],
"source_hash": "699c4bffce6b427dec806441036bbb2fe83076c7", "source_hash": "ba293aede27026c1e0cdd233c8202a87e4fedf83",
"zip_path": "examples\/api\/cookies.zip" "zip_path": "examples\/api\/cookies.zip"
}, },
{ {
...@@ -1085,7 +1085,7 @@ ...@@ -1085,7 +1085,7 @@
"devtools.js", "devtools.js",
"manifest.json" "manifest.json"
], ],
"source_hash": "0ced0f45a4369316e2f4402bdf9c85451be864b1", "source_hash": "70f0bc407327ae3f6242f1f3b685799010a84aa9",
"zip_path": "examples\/api\/devtools\/network\/chrome-firephp.zip" "zip_path": "examples\/api\/devtools\/network\/chrome-firephp.zip"
}, },
{ {
...@@ -2488,10 +2488,13 @@ ...@@ -2488,10 +2488,13 @@
"chrome.browserAction.setBadgeText", "chrome.browserAction.setBadgeText",
"chrome.experimental.alarms.create", "chrome.experimental.alarms.create",
"chrome.experimental.alarms.onAlarm", "chrome.experimental.alarms.onAlarm",
"chrome.experimental.keybinding.onCommand",
"chrome.experimental.runtime.onBackgroundPageUnloadingSoon", "chrome.experimental.runtime.onBackgroundPageUnloadingSoon",
"chrome.experimental.runtime.onInstalled", "chrome.experimental.runtime.onInstalled",
"chrome.experimental.webRequest.onRequest",
"chrome.extension.onMessage", "chrome.extension.onMessage",
"chrome.extension.sendMessage", "chrome.extension.sendMessage",
"chrome.tabs.create",
"chrome.tabs.executeScript", "chrome.tabs.executeScript",
"chrome.tabs.query", "chrome.tabs.query",
"chrome.tabs.sendMessage" "chrome.tabs.sendMessage"
...@@ -2503,6 +2506,7 @@ ...@@ -2503,6 +2506,7 @@
"bookmarks", "bookmarks",
"browser_action", "browser_action",
"experimental", "experimental",
"keybinding",
"tabs" "tabs"
], ],
"icon": null, "icon": null,
...@@ -2513,13 +2517,13 @@ ...@@ -2513,13 +2517,13 @@
"protocols": [ "protocols": [
"http:\/\/" "http:\/\/"
], ],
"search_string": "TRANSIENT PAGE EXAMPLE DEMONSTRATES USAGE AND FEATURES OF THE TRANSIENT PAGE BACKGROUND_PAGE BOOKMARKS BROWSER_ACTION EXPERIMENTAL TABS CHROME.BOOKMARKS.ONREMOVED CHROME.BROWSERACTION.ONCLICKED CHROME.BROWSERACTION.SETBADGETEXT CHROME.EXPERIMENTAL.ALARMS.CREATE CHROME.EXPERIMENTAL.ALARMS.ONALARM CHROME.EXPERIMENTAL.RUNTIME.ONBACKGROUNDPAGEUNLOADINGSOON CHROME.EXPERIMENTAL.RUNTIME.ONINSTALLED CHROME.EXTENSION.ONMESSAGE CHROME.EXTENSION.SENDMESSAGE CHROME.TABS.EXECUTESCRIPT CHROME.TABS.QUERY CHROME.TABS.SENDMESSAGE", "search_string": "TRANSIENT PAGE EXAMPLE DEMONSTRATES USAGE AND FEATURES OF THE TRANSIENT PAGE BACKGROUND_PAGE BOOKMARKS BROWSER_ACTION EXPERIMENTAL KEYBINDING TABS CHROME.BOOKMARKS.ONREMOVED CHROME.BROWSERACTION.ONCLICKED CHROME.BROWSERACTION.SETBADGETEXT CHROME.EXPERIMENTAL.ALARMS.CREATE CHROME.EXPERIMENTAL.ALARMS.ONALARM CHROME.EXPERIMENTAL.KEYBINDING.ONCOMMAND CHROME.EXPERIMENTAL.RUNTIME.ONBACKGROUNDPAGEUNLOADINGSOON CHROME.EXPERIMENTAL.RUNTIME.ONINSTALLED CHROME.EXPERIMENTAL.WEBREQUEST.ONREQUEST CHROME.EXTENSION.ONMESSAGE CHROME.EXTENSION.SENDMESSAGE CHROME.TABS.CREATE CHROME.TABS.EXECUTESCRIPT CHROME.TABS.QUERY CHROME.TABS.SENDMESSAGE",
"source_files": [ "source_files": [
"background.js", "background.js",
"content.js", "content.js",
"manifest.json" "manifest.json"
], ],
"source_hash": "7e9616c15e22991edf11d2a53e0e2a33977154ce", "source_hash": "7c0a2bea158acda5c7a006af226b61a18ed91a40",
"zip_path": "examples\/api\/transientPage\/basic.zip" "zip_path": "examples\/api\/transientPage\/basic.zip"
}, },
{ {
......
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