summaryrefslogtreecommitdiffstats
path: root/chrome/browser/resources/chat_manager
diff options
context:
space:
mode:
authorscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-05-27 02:07:27 +0000
committerscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-05-27 02:07:27 +0000
commit8a74682b947975ab6a383e5d6bee9fb5f9c3d287 (patch)
tree4aaad4f8e1d3c01ca3718112afee531fad12fd69 /chrome/browser/resources/chat_manager
parent75d0c462ff9a10e430e23f90936a97e8efa7e77c (diff)
downloadchromium_src-8a74682b947975ab6a383e5d6bee9fb5f9c3d287.zip
chromium_src-8a74682b947975ab6a383e5d6bee9fb5f9c3d287.tar.gz
chromium_src-8a74682b947975ab6a383e5d6bee9fb5f9c3d287.tar.bz2
Modified chat manager extension to become an app extension.
Patch by seh@chromium.org: http://codereview.chromium.org/2249001/show BUG=none TEST=none Review URL: http://codereview.chromium.org/2252004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48352 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/resources/chat_manager')
-rw-r--r--chrome/browser/resources/chat_manager/128.pngbin0 -> 11691 bytes
-rw-r--r--chrome/browser/resources/chat_manager/24.pngbin0 -> 1559 bytes
-rw-r--r--chrome/browser/resources/chat_manager/32.pngbin0 -> 2407 bytes
-rw-r--r--chrome/browser/resources/chat_manager/48.pngbin0 -> 4485 bytes
-rw-r--r--chrome/browser/resources/chat_manager/background.html54
-rw-r--r--chrome/browser/resources/chat_manager/central_roster_viewer.html40
-rw-r--r--chrome/browser/resources/chat_manager/js/centralrosterhook.js12
-rw-r--r--chrome/browser/resources/chat_manager/js/chatbridgeeventtypes.js3
-rw-r--r--chrome/browser/resources/chat_manager/manifest.json40
9 files changed, 53 insertions, 96 deletions
diff --git a/chrome/browser/resources/chat_manager/128.png b/chrome/browser/resources/chat_manager/128.png
new file mode 100644
index 0000000..60db2ef
--- /dev/null
+++ b/chrome/browser/resources/chat_manager/128.png
Binary files differ
diff --git a/chrome/browser/resources/chat_manager/24.png b/chrome/browser/resources/chat_manager/24.png
new file mode 100644
index 0000000..7ce513e
--- /dev/null
+++ b/chrome/browser/resources/chat_manager/24.png
Binary files differ
diff --git a/chrome/browser/resources/chat_manager/32.png b/chrome/browser/resources/chat_manager/32.png
new file mode 100644
index 0000000..d576c11
--- /dev/null
+++ b/chrome/browser/resources/chat_manager/32.png
Binary files differ
diff --git a/chrome/browser/resources/chat_manager/48.png b/chrome/browser/resources/chat_manager/48.png
new file mode 100644
index 0000000..2e4fb7c
--- /dev/null
+++ b/chrome/browser/resources/chat_manager/48.png
Binary files differ
diff --git a/chrome/browser/resources/chat_manager/background.html b/chrome/browser/resources/chat_manager/background.html
index 05b4b61..956bab1 100644
--- a/chrome/browser/resources/chat_manager/background.html
+++ b/chrome/browser/resources/chat_manager/background.html
@@ -17,61 +17,10 @@ to route both incoming and outgoing chats through this central roster.
src='central_roster.html'>Central Roster</iframe>
<script src="js/chatbridgeeventtypes.js"></script>
<script>
- var centralRosterWindow;
var centralRosterJid;
var centralRosterPort;
var centralJidListenerPorts = [];
- // On loading central roster, reparent roster to viewer window.
- function reparentCentralRosterToWindow() {
- var backgroundDocument = centralRosterWindow.backgroundDocument;
- if (backgroundDocument) {
- var iframe = backgroundDocument.getElementById('centralRoster');
- if (iframe) {
- var windowDocument = centralRosterWindow.document;
- if (windowDocument) {
- if (windowDocument.adoptNode) {
- windowDocument.adoptNode(iframe);
- }
- windowDocument.body.appendChild(iframe);
- }
- }
- }
- }
-
- // On unloading central roster, reparent roster to background.
- function reparentCenterRosterToBackground(event) {
- var windowDocument = centralRosterWindow.document;
- if (windowDocument) {
- var iframe = windowDocument.getElementById('centralRoster');
- if (iframe) {
- var backgroundDocument = centralRosterWindow.backgroundDocument;
- if (backgroundDocument) {
- if (backgroundDocument.adoptNode) {
- backgroundDocument.adoptNode(iframe);
- }
- backgroundDocument.body.appendChild(iframe);
- }
- }
- }
- centralRosterWindow = null;
- }
-
- // Open central roster or give it focus.
- function openCentralRosterWindow() {
- if (!centralRosterWindow) {
- centralRosterWindow = window.open(
- chrome.extension.getURL('central_roster_viewer.html'),
- 'centralRosterWindow',
- 'width=300,height=360,resizable=0,menubar=0,scrollbars=0');
- centralRosterWindow.backgroundDocument = document;
- centralRosterWindow.onload = reparentCentralRosterToWindow;
- centralRosterWindow.onbeforeunload = reparentCenterRosterToBackground;
- } else {
- centralRosterWindow.focus();
- }
- }
-
// Notify all port listeners of updated central roster jid.
function forwardCentralRosterJidToPortListeners() {
for (var listenerPort in centralJidListenerPorts) {
@@ -143,9 +92,6 @@ to route both incoming and outgoing chats through this central roster.
forwardCentralRosterJidToPortListeners();
}
break;
- case ChatBridgeEventTypes.OPEN_CENTRAL_ROSTER:
- openCentralRosterWindow();
- break;
}
});
</script>
diff --git a/chrome/browser/resources/chat_manager/central_roster_viewer.html b/chrome/browser/resources/chat_manager/central_roster_viewer.html
index 2f18b7b..5daf778 100644
--- a/chrome/browser/resources/chat_manager/central_roster_viewer.html
+++ b/chrome/browser/resources/chat_manager/central_roster_viewer.html
@@ -20,8 +20,46 @@ found in the LICENSE file.
height: 98%;
}
</style>
+ <script>
+ function reparentCentralRosterToWindow() {
+ var backgroundWindow = chrome.extension.getBackgroundPage();
+ if (backgroundWindow) {
+ var backgroundDocument = backgroundWindow.document;
+ if (backgroundDocument) {
+ var iframe = backgroundDocument.getElementById('centralRoster');
+ if (iframe) {
+ if (document) {
+ if (document.adoptNode) {
+ document.adoptNode(iframe);
+ }
+ document.body.appendChild(iframe);
+ }
+ }
+ }
+ }
+ }
+ function reparentCentralRosterToBackground(event) {
+ if (document) {
+ var iframe = document.getElementById('centralRoster');
+ if (iframe) {
+ var backgroundWindow = chrome.extension.getBackgroundPage();
+ if (backgroundWindow) {
+ var backgroundDocument = backgroundWindow.document;
+ if (backgroundDocument) {
+ if (backgroundDocument.adoptNode) {
+ backgroundDocument.adoptNode(iframe);
+ }
+ backgroundDocument.body.appendChild(iframe);
+ }
+ }
+ }
+ }
+ }
+ </script>
</head>
- <body topmargin='0' leftmargin='0'>
+ <body topmargin='0' leftmargin='0'
+ onload='reparentCentralRosterToWindow();'
+ onbeforeunload='reparentCentralRosterToBackground(event);'>
<!-- Place for central roster -->
</body>
</html>
diff --git a/chrome/browser/resources/chat_manager/js/centralrosterhook.js b/chrome/browser/resources/chat_manager/js/centralrosterhook.js
deleted file mode 100644
index d9c70e7..0000000
--- a/chrome/browser/resources/chat_manager/js/centralrosterhook.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Search for communication channel div.
-var divOpenerHandler = document.getElementById('central_roster_opener');
-if (divOpenerHandler) {
- divOpenerHandler.addEventListener(ChatBridgeEventTypes.OPEN_CENTRAL_ROSTER,
- function(event) {
- chrome.extension.sendRequest({msg: 'openCentralRoster'});
- }, false);
-}
diff --git a/chrome/browser/resources/chat_manager/js/chatbridgeeventtypes.js b/chrome/browser/resources/chat_manager/js/chatbridgeeventtypes.js
index 7563917..056e039 100644
--- a/chrome/browser/resources/chat_manager/js/chatbridgeeventtypes.js
+++ b/chrome/browser/resources/chat_manager/js/chatbridgeeventtypes.js
@@ -12,6 +12,5 @@ var ChatBridgeEventTypes = {
START_VOICE: 'startVoice',
CENTRAL_USER_SET: 'centralJidSet',
CENTRAL_USER_UPDATE: 'centralJidUpdate',
- CENTRAL_USER_WATCHER: 'getCentralJid',
- OPEN_CENTRAL_ROSTER: 'openCentralRoster'
+ CENTRAL_USER_WATCHER: 'getCentralJid'
};
diff --git a/chrome/browser/resources/chat_manager/manifest.json b/chrome/browser/resources/chat_manager/manifest.json
index f0e2fa1..04753ee 100644
--- a/chrome/browser/resources/chat_manager/manifest.json
+++ b/chrome/browser/resources/chat_manager/manifest.json
@@ -1,8 +1,14 @@
{
"key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDDrlwvcbUtVrbQvI7EPV1BTa63N8YkbBToHzxlMl0IzSBwOV+TUOsHE8vRq0HZWuwMAGeH8WdWVC3HRNdES8lScjlzxb1TsTQJAsF+hLXgcjgCUSSSGCfFzypvuvKsRQTx0d02yfWKJa47o0Ws5wL72NVtc7c51HujwWYg+Mz01wIDAQAB",
- "name": "Chrome chat manager (by Google)",
+ "name": "Google Chat Manager",
"version": "1.0",
- "description": "Chrome chat manager",
+ "icons": {
+ "128": "128.png",
+ "24": "24.png",
+ "32": "32.png",
+ "48": "48.png"
+ },
+ "description": "Google Chat Manager",
"background_page": "background.html",
"content_scripts": [ {
"js": [
@@ -15,34 +21,14 @@
],
"run_at": "document_end",
"all_frames": true
- },
- // TODO(scherkus): enable this in the future.
- //{
- // "js": [
- // "js/chatbridgeeventtypes.js",
- // "js/gmailbridgehook.js"
- // ],
- // "matches": [
- // "http://mail.google.com/*",
- // "https://mail.google.com/*"
- // ],
- // "run_at": "document_end"
- //},
- {
- "js": [
- "js/chatbridgeeventtypes.js",
- "js/centralrosterhook.js"
- ],
- "matches": [
- "file:///*/*",
- "http://*/*",
- "https://*/*"
- ],
- "run_at": "document_end"
}],
"permissions": [
"tabs",
"http://talkgadget.google.com/*",
"https://talkgadget.google.com/*"
- ]
+ ],
+ "launch": {
+ "local_path": "central_roster_viewer.html",
+ "container": "panel"
+ }
}