Commit 5249d63f authored by Wei Lee's avatar Wei Lee Committed by Commit Bot

[CCA WebUI] Abstract usage of chrome.runtime

Bug: 980846
Test: Launch CCA with no error shows
Change-Id: If03336c546d475a81978dc7498615e27b06463c3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2056509
Commit-Queue: Wei Lee <wtlee@chromium.org>
Reviewed-by: default avatarShik Chen <shik@chromium.org>
Cr-Commit-Position: refs/heads/master@{#742968}
parent 9431619c
......@@ -561,6 +561,6 @@ chrome.app.runtime.onLaunched.addListener((launchData) => {
}
});
chrome.runtime.onMessageExternal.addListener(handleExternalMessageFromTest);
browserProxy.addOnMessageExternalListener(handleExternalMessageFromTest);
chrome.runtime.onConnectExternal.addListener(handleExternalConnectionFromTest);
browserProxy.addOnConnectExternalListener(handleExternalConnectionFromTest);
......@@ -91,6 +91,31 @@ class ChromeAppBrowserProxy {
openInspector(type) {
chrome.fileManagerPrivate.openInspector(type);
}
/** @override */
getAppId() {
return chrome.runtime.id;
}
/** @override */
getAppVersion() {
return chrome.runtime.getManifest().version;
}
/** @override */
addOnMessageExternalListener(listener) {
chrome.runtime.onMessageExternal.addListener(listener);
}
/** @override */
addOnConnectExternalListener(listener) {
chrome.runtime.onConnectExternal.addListener(listener);
}
/** @override */
sendMessage(extensionId, message) {
chrome.runtime.sendMessage(extensionId, message);
}
}
export const browserProxy = new ChromeAppBrowserProxy();
......@@ -84,4 +84,36 @@ export class BrowserProxy {
* @abstract
*/
openInspector(type) {}
/**
* @return {string}
* @abstract
*/
getAppId() {}
/**
* @return {string}
* @abstract
*/
getAppVersion() {}
/**
* @param {function(*, !MessageSender, function(string)): (boolean|undefined)}
* listener
* @abstract
*/
addOnMessageExternalListener(listener) {}
/**
* @param {function(Port)} listener
* @abstract
*/
addOnConnectExternalListener(listener) {}
/**
* @param {string} extensionId
* @param {*} message
* @abstract
*/
sendMessage(extensionId, message) {}
}
......@@ -118,6 +118,33 @@ class WebUIBrowserProxy {
openInspector(type) {
NOTIMPLEMENTED();
}
/** @override */
getAppId() {
NOTIMPLEMENTED();
return '';
}
/** @override */
getAppVersion() {
NOTIMPLEMENTED();
return '';
}
/** @override */
addOnMessageExternalListener(listener) {
NOTIMPLEMENTED();
}
/** @override */
addOnConnectExternalListener(listener) {
NOTIMPLEMENTED();
}
/** @override */
sendMessage(extensionId, message) {
NOTIMPLEMENTED();
}
}
export const browserProxy = new WebUIBrowserProxy();
......
......@@ -180,6 +180,9 @@ export function onKeyPressed(event) {
case 'BrowserBack':
chrome.app.window.current().minimize();
break;
case 'Ctrl-V':
toast.show(browserProxy.getAppVersion());
break;
case 'Ctrl-Shift-I':
browserProxy.openInspector('normal');
break;
......
......@@ -115,13 +115,13 @@ export class MasterSettings extends BaseSettings {
'feedbackInfo': {
'description': '',
'systemInformation': [
{key: 'APP ID', value: chrome.runtime.id},
{key: 'APP VERSION', value: chrome.runtime.getManifest().version},
{key: 'APP ID', value: browserProxy.getAppId()},
{key: 'APP VERSION', value: browserProxy.getAppVersion()},
],
},
};
const id = 'gfdkimpbcpahaombhbimeihdjnejgicl'; // Feedback extension id.
chrome.runtime.sendMessage(id, data);
browserProxy.sendMessage(id, data);
}
}
......
......@@ -3,7 +3,6 @@
// found in the LICENSE file.
import {assertInstanceof} from '../chrome_util.js';
import * as toast from '../toast.js';
/**
* @enum {string}
......@@ -116,10 +115,6 @@ export class View {
onKeyPressed(key) {
if (this.handlingKey(key)) {
return true;
} else if (key === 'Ctrl-V') {
const {version, version_name: versionName} = chrome.runtime.getManifest();
toast.show(versionName || version);
return true;
} else if (this.dismissByEsc_ && key === 'Escape') {
this.leave();
return true;
......
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