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) => { ...@@ -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 { ...@@ -91,6 +91,31 @@ class ChromeAppBrowserProxy {
openInspector(type) { openInspector(type) {
chrome.fileManagerPrivate.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(); export const browserProxy = new ChromeAppBrowserProxy();
...@@ -84,4 +84,36 @@ export class BrowserProxy { ...@@ -84,4 +84,36 @@ export class BrowserProxy {
* @abstract * @abstract
*/ */
openInspector(type) {} 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 { ...@@ -118,6 +118,33 @@ class WebUIBrowserProxy {
openInspector(type) { openInspector(type) {
NOTIMPLEMENTED(); 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(); export const browserProxy = new WebUIBrowserProxy();
......
...@@ -180,6 +180,9 @@ export function onKeyPressed(event) { ...@@ -180,6 +180,9 @@ export function onKeyPressed(event) {
case 'BrowserBack': case 'BrowserBack':
chrome.app.window.current().minimize(); chrome.app.window.current().minimize();
break; break;
case 'Ctrl-V':
toast.show(browserProxy.getAppVersion());
break;
case 'Ctrl-Shift-I': case 'Ctrl-Shift-I':
browserProxy.openInspector('normal'); browserProxy.openInspector('normal');
break; break;
......
...@@ -115,13 +115,13 @@ export class MasterSettings extends BaseSettings { ...@@ -115,13 +115,13 @@ export class MasterSettings extends BaseSettings {
'feedbackInfo': { 'feedbackInfo': {
'description': '', 'description': '',
'systemInformation': [ 'systemInformation': [
{key: 'APP ID', value: chrome.runtime.id}, {key: 'APP ID', value: browserProxy.getAppId()},
{key: 'APP VERSION', value: chrome.runtime.getManifest().version}, {key: 'APP VERSION', value: browserProxy.getAppVersion()},
], ],
}, },
}; };
const id = 'gfdkimpbcpahaombhbimeihdjnejgicl'; // Feedback extension id. const id = 'gfdkimpbcpahaombhbimeihdjnejgicl'; // Feedback extension id.
chrome.runtime.sendMessage(id, data); browserProxy.sendMessage(id, data);
} }
} }
......
...@@ -3,7 +3,6 @@ ...@@ -3,7 +3,6 @@
// found in the LICENSE file. // found in the LICENSE file.
import {assertInstanceof} from '../chrome_util.js'; import {assertInstanceof} from '../chrome_util.js';
import * as toast from '../toast.js';
/** /**
* @enum {string} * @enum {string}
...@@ -116,10 +115,6 @@ export class View { ...@@ -116,10 +115,6 @@ export class View {
onKeyPressed(key) { onKeyPressed(key) {
if (this.handlingKey(key)) { if (this.handlingKey(key)) {
return true; 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') { } else if (this.dismissByEsc_ && key === 'Escape') {
this.leave(); this.leave();
return true; 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