diff options
author | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-05-27 02:07:27 +0000 |
---|---|---|
committer | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-05-27 02:07:27 +0000 |
commit | 8a74682b947975ab6a383e5d6bee9fb5f9c3d287 (patch) | |
tree | 4aaad4f8e1d3c01ca3718112afee531fad12fd69 /chrome/browser/resources/chat_manager | |
parent | 75d0c462ff9a10e430e23f90936a97e8efa7e77c (diff) | |
download | chromium_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.png | bin | 0 -> 11691 bytes | |||
-rw-r--r-- | chrome/browser/resources/chat_manager/24.png | bin | 0 -> 1559 bytes | |||
-rw-r--r-- | chrome/browser/resources/chat_manager/32.png | bin | 0 -> 2407 bytes | |||
-rw-r--r-- | chrome/browser/resources/chat_manager/48.png | bin | 0 -> 4485 bytes | |||
-rw-r--r-- | chrome/browser/resources/chat_manager/background.html | 54 | ||||
-rw-r--r-- | chrome/browser/resources/chat_manager/central_roster_viewer.html | 40 | ||||
-rw-r--r-- | chrome/browser/resources/chat_manager/js/centralrosterhook.js | 12 | ||||
-rw-r--r-- | chrome/browser/resources/chat_manager/js/chatbridgeeventtypes.js | 3 | ||||
-rw-r--r-- | chrome/browser/resources/chat_manager/manifest.json | 40 |
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 Binary files differnew file mode 100644 index 0000000..60db2ef --- /dev/null +++ b/chrome/browser/resources/chat_manager/128.png diff --git a/chrome/browser/resources/chat_manager/24.png b/chrome/browser/resources/chat_manager/24.png Binary files differnew file mode 100644 index 0000000..7ce513e --- /dev/null +++ b/chrome/browser/resources/chat_manager/24.png diff --git a/chrome/browser/resources/chat_manager/32.png b/chrome/browser/resources/chat_manager/32.png Binary files differnew file mode 100644 index 0000000..d576c11 --- /dev/null +++ b/chrome/browser/resources/chat_manager/32.png diff --git a/chrome/browser/resources/chat_manager/48.png b/chrome/browser/resources/chat_manager/48.png Binary files differnew file mode 100644 index 0000000..2e4fb7c --- /dev/null +++ b/chrome/browser/resources/chat_manager/48.png 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" + } } |