Index: remoting/webapp/background.js |
diff --git a/remoting/webapp/background.js b/remoting/webapp/background.js |
index 290b43a0ee6929c268999f22f9a4494d3c049d8f..3809f0cea28fe49a02691a1a1bff0600ae149825 100644 |
--- a/remoting/webapp/background.js |
+++ b/remoting/webapp/background.js |
@@ -2,9 +2,37 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-chrome.app.runtime.onLaunched.addListener(function() { |
+/** @type {string} */ |
+var kNewWindowId = 'new-window'; |
+ |
+function createWindow() { |
chrome.app.window.create('main.html', { |
'width': 800, |
'height': 600 |
}); |
-}); |
+}; |
+ |
+/** @param {OnClickData} info */ |
+function onContextMenu(info) { |
+ if (info.menuItemId == kNewWindowId) { |
+ createWindow(); |
+ } |
+}; |
+ |
+function initializeContextMenu() { |
+ try { |
+ chrome.contextMenus.remove(kNewWindowId); |
+ } catch (ignore) { |
+ // There is no way to detect if the context menu is already added, therefore |
+ // try to recreate it every time. |
Lambros
2013/09/06 22:16:14
This is the only place you're adding the context m
Jamie
2013/09/06 23:45:50
I added it because the sample I based it on did so
|
+ } |
+ chrome.contextMenus.create({ |
+ id: kNewWindowId, |
+ contexts: ['launcher'], |
+ title: chrome.i18n.getMessage(/*i18n-content*/'NEW_WINDOW') |
+ }); |
+} |
+ |
+chrome.app.runtime.onLaunched.addListener(createWindow); |
+chrome.contextMenus.onClicked.addListener(onContextMenu); |
+initializeContextMenu(); |
Lambros
2013/09/06 22:16:14
Shouldn't we call this from remoting.init() (or th
Jamie
2013/09/06 23:45:50
This is the background page. It gets run when the
|