Files
sdk/runtime/observatory_2/web/timeline_message_handler.js
T
Ryan Macnak 6c31582031 Copy Dart 2 version of Observatory and service tests.
Change-Id: If47aa98918b0166dba781a0008c23b991d46fe1c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/165420
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2020-10-07 22:20:25 +00:00

53 lines
1.3 KiB
JavaScript

// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// This file is loaded before the about:tracing code is loaded so that we have
// an event listener registered early.
var traceObject;
function registerForMessages() {
window.addEventListener("message", onMessage, false);
window.addEventListener("hashchange", onHashChange, false);
}
registerForMessages();
function onMessage(event) {
var request = JSON.parse(event.data);
var method = request['method'];
var params = request['params'];
console.log('method: ' + method)
switch (method) {
case 'loading':
showLoadingOverlay('Fetching timeline...');
break;
case 'refresh':
traceObject = params;
if (typeof populateTimeline != 'undefined') {
populateTimeline();
} else {
console.log('populateTimeline is not yet defined');
}
break;
case 'clear':
clearTimeline();
break;
case 'save':
saveTimeline();
break;
case 'load':
loadTimeline();
break;
default:
console.log('Unknown method:' + method + '.');
}
}
function onHashChange() {
refreshTimeline();
}
console.log('message handler registered');