
* Electron version: 1.4.6
* Operating system: macOS Sierra

### Expected behavior

Callbacks executed from `ipcRenderer.on` or `setImmediate` will be recorded in devtool timeline

### Actual behavior

Callbacks on `ipcRenderer.on` or `setImmediate` not recorded
(Callbacks on `setTimeout` are recorded normally)

### How to reproduce

This is a simple example that do some heavy task in `ipcRenderer.on` callback:
https://github.com/seanchas116/electron-testings/tree/master/timeline-ipc
atom/common/node_bindings.cc
#include "atom/common/node_bindings.h"
#include <string>
#include <vector>
#include "atom/common/api/event_emitter_caller.h"
#include "atom/common/api/locker.h"
#include "atom/common/atom_command_line.h"
#include "atom/common/native_mate_converters/file_path_converter.h"
#include "base/base_paths.h"
#include "base/command_line.h"
#include "base/environment.h"
#include "base/files/file_path.h"
#include "base/message_loop/message_loop.h"
#include "base/path_service.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/common/content_paths.h"
#include "native_mate/dictionary.h"
#include "atom/common/node_includes.h"
using content::BrowserThread;
#define REFERENCE_MODULE(name) \
  extern "C" void _register_ ## name(void); \
  void (*fp_register_ ## name)(void) = _register_ ## name
REFERENCE_MODULE(atom_browser_app);
REFERENCE_MODULE(atom_browser_auto_updater);
REFERENCE_MODULE(atom_browser_content_tracing);
REFERENCE_MODULE(atom_browser_dialog);
REFERENCE_MODULE(atom_browser_debugger);
REFERENCE_MODULE(atom_browser_desktop_capturer);
REFERENCE_MODULE(atom_browser_download_item);
REFERENCE_MODULE(atom_browser_menu);