| Index: chrome/browser/resources/inspect/inspect.js
|
| diff --git a/chrome/browser/resources/inspect/inspect.js b/chrome/browser/resources/inspect/inspect.js
|
| index 3d6fd7982766a64d815ac33bc0943b5965755136..6b3c51f98cc11c232c842ad122fdf317493937bc 100644
|
| --- a/chrome/browser/resources/inspect/inspect.js
|
| +++ b/chrome/browser/resources/inspect/inspect.js
|
| @@ -29,6 +29,14 @@ function sendTargetCommand(command, target) {
|
| sendCommand(command, target.source, target.id);
|
| }
|
|
|
| +function sendServiceWorkerCommand(action, partition_path, scope) {
|
| + $('serviceworker-internals').contentWindow.postMessage({
|
| + 'action': action,
|
| + 'partition_path': partition_path,
|
| + 'scope': scope
|
| + },'chrome://serviceworker-internals');
|
| +}
|
| +
|
| function removeChildren(element_id) {
|
| var element = $(element_id);
|
| element.textContent = '';
|
| @@ -51,6 +59,15 @@ function onload() {
|
| onHashChange();
|
| initSettings();
|
| sendCommand('init-ui');
|
| + window.addEventListener('message', onMessage.bind(this), false);
|
| +}
|
| +
|
| +function onMessage(event) {
|
| + if (event.origin != 'chrome://serviceworker-internals') {
|
| + return;
|
| + }
|
| + populateServiceWorkers(event.data.partition_id,
|
| + event.data.workers);
|
| }
|
|
|
| function onHashChange() {
|
| @@ -87,6 +104,39 @@ function selectTab(id) {
|
| return true;
|
| }
|
|
|
| +function populateServiceWorkers(partition_id, workers) {
|
| + var list = $('service-workers-list-' + partition_id);
|
| + if (list) {
|
| + list.textContent = '';
|
| + } else {
|
| + list = document.createElement('div');
|
| + list.id = 'service-workers-list-' + partition_id;
|
| + list.className = 'list';
|
| + $('service-workers-list').appendChild(list);
|
| + }
|
| + for (var i = 0; i < workers.length; i++) {
|
| + var worker = workers[i];
|
| + worker.hasCustomInspectAction = true;
|
| + var row = addTargetToList(worker, list, ['scope', 'url']);
|
| + addActionLink(
|
| + row,
|
| + 'inspect',
|
| + sendServiceWorkerCommand.bind(null,
|
| + 'inspect',
|
| + worker.partition_path,
|
| + worker.scope),
|
| + false);
|
| + addActionLink(
|
| + row,
|
| + 'terminate',
|
| + sendServiceWorkerCommand.bind(null,
|
| + 'stop',
|
| + worker.partition_path,
|
| + worker.scope),
|
| + false);
|
| + }
|
| +}
|
| +
|
| function populateTargets(source, data) {
|
| if (source == 'renderers')
|
| populateWebContentsTargets(data);
|
| @@ -508,8 +558,10 @@ function addTargetToList(data, list, properties) {
|
| actionBox.className = 'actions';
|
| subrowBox.appendChild(actionBox);
|
|
|
| - addActionLink(row, 'inspect', sendTargetCommand.bind(null, 'inspect', data),
|
| - data.hasNoUniqueId || data.adbAttachedForeign);
|
| + if (!data.hasCustomInspectAction) {
|
| + addActionLink(row, 'inspect', sendTargetCommand.bind(null, 'inspect', data),
|
| + data.hasNoUniqueId || data.adbAttachedForeign);
|
| + }
|
|
|
| list.appendChild(row);
|
| return row;
|
|
|